No necesita Kies o un controlador para usar ADB y el SDK en Linux. Primero vaya al sitio web para desarrolladores de Android e instale el SDK y Eclipse. Espero que ya que está desarrollando en Windows ya trabajará un poco siguiendo sus instrucciones.
En Linux, un controlador USB puede estar en el espacio del usuario, que está integrado en el programa. El codificador usa la API libusb para esto. Pero hay un poco más, no funcionará de la caja.
Cuando se inserta un dispositivo USB en su PC, el servicio udev se usa para arbitrar cómo y dónde se monta el 'dispositivo'. Como su teléfono, cuando está en modo de depuración, es desconocido para el sistema, solo creará el nodo del archivo usb, que libusb usa para comunicarse con él. Todo es un archivo en Linux. El problema es que solo la cuenta raíz puede acceder a este nodo. Debe decirle a udev que permita que un programa, ADB en este caso, hable con una cuenta de usuario normal.
Para hacer esto, cree un archivo en /etc/udev/rules.d/
Tengo uno llamado 99-my.rules
En este archivo, para su S2, agregue la línea simple SUBSYSTEM == "usb", ATTR {idVendor} == "04e8", ATTR {idProduct} = "685e", OWNER = "YOUR USERNAME", GROUP = "YOUR USERNAME "
Donde está SU NOMBRE DE USUARIO, escriba su nombre de usuario.
Tendrá que ser la cuenta raíz para hacer esto, en ubuntu use sudo frente al comando al que está llamando. EG sudo gedit /etc/udev/rules.d/99-my.rules
Ahora reinicie o ejecute sudo service udev restart
Conecte el teléfono y pruebe con dispositivos adb. Debe mostrar la identificación del teléfono.
Ubuntu es perfecto para el desarrollo de Android, lo uso en el trabajo todo el tiempo. Mientras los chicos de Windows intentan encontrar controladores para un nuevo dispositivo que se está probando, lsusb obtengo los valores idVendor e idProduct, agrego una nueva línea en udev y reinicio el servicio y estoy en funcionamiento. :)