Melhor maneira de conectar o Galaxy Nexus (ICS) ao Linux

13

Posso conectar meu Galaxy Nexus à minha máquina Kubuntu usando o protocolo PTP , mas é muito lento. Eu li esta entrevista sobre por que o Galaxy Nexus não suporta armazenamento em massa USB e visitei http://www.android.com/filetransfer/ conforme as instruções, mas não há como ver o que me permitirá conectar ao dispositivo usando uma máquina Linux e MTP .

Alguém sabe como obter MTP, ou qualquer outro protocolo, funcionando?

Martyn
fonte

Respostas:

7

Você também pode tentar mtpfs ou gMTP . O mtpfs permite montar o dispositivo MTP como um sistema de arquivos, enquanto o gMTP é um programa independente.

No AskUbuntu, há uma resposta que mostra como usar o mtpfs.

elmicha
fonte
O gMTP parece funcionar muito bem para copiar fotos do meu telefone antigo. Tentar copiar por PTP foi doloroso.
Ryan
1
O gMTP não é satisfatório para mim. É MUITO lento e gera erros nos arquivos de música (tenta criar álbuns para todos os arquivos transferidos). O gMTP também trava frequentemente no Ubuntu. Eu gosto mais do método ADB. Eu também uso SSHFS sobre WiFi e alguns outros métodos.
MountainX
6

Vou expandir a ideia de Ryan Conrad:

adb de ferramentas android é o caminho.

Prefiro seguir este guia para instalar o Eclipse com android-sdk:

http://developer.android.com/sdk/installing.html

A instalação depende apenas do JDK. Não há instalação de novos pacotes. Pessoalmente, faço os mesmos passos (= extrair duas pastas em qualquer lugar e configurar o eclipse) da mesma maneira nas distribuições Ubuntu, Mint ou Debian e tudo está funcionando.

Depois de concluir este guia clássico, tenho duas novas pastas: eclipse e android-sdks . Na pasta android-sdks ./platform-tools/adb está o caminho para a adbferramenta, que pode ser usada para push(carregar) e pull(obter) arquivos do dispositivo Android - sem mtpfs ou montagens adicionais.

Como o adbprograma de linha de comando, ele pode ser automatizado rapidamente. Além disso, você tem a visualização File Explorer do Eclipse , que fornece boa estrutura de arquivos em árvore gráfica e interface básica de arrastar e soltar (não se esqueça de selecionar seu dispositivo na visualização Dispositivos primeiro!).

A grande desvantagem desse método é que apenas a adbferramenta vê o dispositivo e pode acessá-lo. O resto do meu sistema, incluindo o Nautilus, por exemplo, ainda não vê o dispositivo. Mas depois de me acostumar com a estabilidade e a robustez, adbesse não é o problema para mim.

furikuretsu
fonte
1
O adb é um problema de segurança se você o mantiver ativado constantemente. Lembre-se de que não há diálogo de frase-senha nem nada. Pode-se ignorar os bloqueios de tela e até a criptografia completa do dispositivo. Especialmente se você acontecer para carregá-la em locais desconhecidos (PC na internet café, etc.)
CE4
obrigado pelo aviso, ce4. Deixe-me perguntar: que meios de acessar o armazenamento Android devemos usar em locais desconhecidos?
Furikuretsu
1
adicionada resposta própria sobre Bluetooth :-)
CE4
6

Você pode usar o bluetooth .

O Bluetooth FTP (perfil de transferência de arquivos) é suportado pelo Linux e existe o aplicativo Bluetooth File Transfer que adiciona essa funcionalidade ao android. No entanto, não é tão rápido (<200kb / s), dependendo das versões do seu bluetooth. -

Há um módulo de fusível chamado obexfs , aqui está o meu Nexus S montado:

root@local:/tmp# obexfs -b f0:08:f1:xx:xx:xx -- /media/bla
root@local:/tmp# cd /media/bla
root@leo61326:/media/bla# ls -lh /media/bla/DCIM/
total 5,5K
drwxr-xr-x 1 root root    0 2012-05-25 16:09 100ANDRO
drwxr-xr-x 1 root root    0 2012-07-05 17:31 2012-06-09_Rafting
drwxr-xr-x 1 root root    0 2012-07-09 22:30 Camera

Alguns exploradores de arquivos o suportam diretamente através de plug-ins (nautilus / gnome / kde / ...) Aqui estão algumas perguntas obex relacionadas ao Ubuntu.

ce4
fonte
1
Esta resposta merece mais votos - não consegui que o MTP ou o PTP funcionassem bem com minha instalação do Kubuntu.
Nathan Osman
Esperamos que melhore com os lançamentos mais recentes do Ubuntu. Estou realmente confiante sobre isso. Eu principalmente uso o ADB na linha de comando (que eu uso muito), então esse é o caminho mais rápido para mim agora. Eu também uso "bluetooth-sendto some-file" algumas vezes.
precisa saber é
3

Você pode usar adb e transferir usando os comandos adb pull / push.

Não tenho certeza do que distro de Linux você está usando, mas eu achei este que diz MTP é empacotado e disponível para ubuntu apesar de um pacote chamado MTP-ferramentas .

Observe também que isso não é específico para o Android 3.x / 4.x, isso é verdade para todos os dispositivos que executam 3.x / 4.x que não possuem um sdcard externo. Se o dispositivo tiver um slot para sdcard, você poderá montá-lo como nas versões anteriores do Android.

Ryan Conrad
fonte
2

mpfs é um sistema de arquivos baseado em FUSE que pode montar o Nexus no seu sistema.

mtpfs -o allow_other /media/MOUNTPOINT

Vai montá-lo para você. Para desmontar, basta desmontar / media / MOUNTPOINT

stsquad
fonte
0

Outra opção é o WebDAV .

Configurando um servidor Android WebDAV

No meu Nexus 7, instalei o WebDAV Server , o abri, cliquei no botão Iniciar e pude ver imediatamente minha /storage/sdcardpasta no meu navegador na URL exibida pelo aplicativo, ou seja,http://192.168.x.y:8080

Observe que, com o WebDAV Server , você também tem a opção de selecionar Raiz (/) ou DCIM , além de SdCard como raiz do WebDAV .

Usando o servidor WebDAV via Nautilus

No Nautilus, selecione "Conectar ao servidor ..." no menu Arquivo, selecione "WebDAV (HTTP)", entrei 192.168.x.ycomo servidor e 8080como porta e cliquei em Conectar.

Navegar pela hierarquia de diretórios é mais lento do que acessar outros compartilhamentos de rede, mas não é irracional. A cópia de um único arquivo de 42 MB via Nautilus levou cerca de 12 segundos, ou seja, 3,6 MB / s.

Montando uma Unidade WebDAV a partir da Linha de Comandos

Instalei o davfs2 e montei meu compartilhamento como /mntusando o comando:

sudo mount -t davfs http://192.168.x.y:8080 /mnt

Copiar o mesmo arquivo de 42MB, mas com um tempo mais preciso, levou 12,88s ou 3,24MB / s.

$ time cp music.fsb /tmp

real    0m12.880s
user    0m0.002s
sys     0m0.143s

Ressalvas

  • O acesso ao WebDAV não é seguro . Mesmo se você definir uma senha no compartilhamento WebDAV, a conexão ainda httpnão é https, portanto, não é criptografada. Use o WebDAV apenas em uma rede wifi segura e, certamente, não ative o servidor WebDAV enquanto estiver em uma lan house ou em outro wifi sem segurança.
Mark Booth
fonte
0

Você pode usar o protocolo FTP na velocidade do cabo usb com este aplicativo (não que exija o adb, mas depois de configurar o adb, a conexão / transferência é rápida e indolor, e você pode até visualizar os arquivos no seu gerenciador de arquivos favorito.

https://play.google.com/store/apps/details?id=com.theolivetree.ftpserver

As instruções estão na descrição da Play Store.

Andrey Losev
fonte
0

Trabalhando com MTP no Ubuntu para Galaxy Nexus, Nexus 7 e Acer A500 Por onde começar.

Encontrei algumas instruções para o Nexus 7 (que acabei de trazer) neste site Ubuntu 12.04 - Automount Nexus 7 no modo MTP. Todo o crédito ao autor dessa página por descobrir isso. As instruções que tenho abaixo vêm deste site, são cortadas para os comandos, se você quiser obter mais explicações, consulte o site acima.

Usei o Ubuntu 12.10 e configurei para o meu Nexus 7, Galaxy Nexus e Acer A500. Instruções

Configurar o FUSE

Altere /etc/fuse.conf para que seja lido por todos.

# sudo chmod a+r /etc/fuse.conf

Edite /etc/fuse.conf para remover o comentário # de user_allow_other, para que o padrão fuse.conf pareça

# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000

# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
user_allow_other

Compilar e instalar go_mtp

# sudo apt-get install libmtp-dev golang 
# mkdir /tmp/go
# export GOPATH=/tmp/go
# go get github.com/hanwen/go-mtpfs
# sudo mv /tmp/go/bin/go-mtpfs /usr/local/sbin/go-mtpfs
# sudo chmod a+x /usr/local/sbin/go-mtpfs

Criar ponto (s) de montagem

Use the following as you need..
# sudo mkdir /media/Nexus7
# sudo chmod 777 /media/Nexus7
# sudo mkdir /media/GalaxyNexus
# sudo chmod 777 /media/GalaxyNexus
# sudo mkdir /media/A500
# sudo chmod 777 /media/A500

Configurar regras do udev

Use seu editor favorito e crie o seguinte arquivo (remova qualquer outra regra do udev para Android com a qual você tenha experimentado primeiro).

# sudo vi /etc/udev/rules.d/99-android.rules

Cole o seguinte conteúdo. você pode remover regras desnecessárias. Os dois dispositivos nexus parecem ter os mesmos IDs para o carregador de inicialização e a recuperação. NOTA: você precisa substituir # YOURLOGIN # pelo seu nome de usuário / login.

# Google Nexus 7 & Galaxy Nexus 16 Gb Bootloader & recovery mode
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Google Nexus 7 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e43", MODE="0666" # PTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e44", MODE="0666" # PTP media with USB debug on

# Google Nexus 7 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666" # MTP media with USB debug on

# Google Nexus 7 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"

# Google Nexus 7 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"


# Google Galaxy Nexus 16 Gb Bootloader & recovery mode
#SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666" # Bootloader
#SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Google Galaxy Nexus 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6865", MODE="0666" # PTP media
#SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="4e44", MODE="0666" # PTP media with USB debug on

# Google Galaxy Nexus 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685c", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666" # MTP media with USB debug on

# Google Nexus 7 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus"
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus"

# Google Nexus 7 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus"
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus"


# Acer A500 16 Gb Bootloader & recovery mode
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3201", MODE="0666" # Bootloader
#SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Acer A500 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="33b2", MODE="0666" # PTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="33b1", MODE="0666" # PTP media with USB debug on

# Acer A500 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3341", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", MODE="0666" # MTP media with USB debug on

# Acer A500 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3341", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/A500"
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3325", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/A500"

# Acer A500 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3341", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3325", ACTION=="remove", RUN+="/bin/umount /media/A500"

NOTA: se você usou o gedit e editou o arquivo, precisa remover o 99-android.rules ~, pois o udev ficará chateado.

Em seguida, reinicie o udev

# sudo service udev restart

Edite / etc / fstab

Add the following to /etc/fstab
DeviceFs(Nexus\0407)        /media/Nexus7         fuse.DeviceFs(Nexus\0407)      allow_other,rw,user,noauto    0    0
DeviceFs(Galaxy\040Nexu)    /media/GalaxyNexus    fuse.DeviceFs(Galaxy\040Nexu)  allow_other,rw,user,noauto    0    0
DeviceFs(A500)              /media/A500           fuse.DeviceFs(A500)            allow_other,rw,user,noauto    0    0

Acabado.

Agora você pode conectar seus dispositivos e o armazenamento interno estará disponível para uso. Lembre-se de desmontar antes de desconectar, embora não pareça causar nenhum dano.

Nota: parece que o ENV {ID_MODEL} do nexus 7 mudou para o Nexus_7 em algum momento (acho que com a atualização do Android 4.2) ..

De http://www.winters.org.nz/android-hints-tips-stuff/working-mtp-on-ubuntu

Abram
fonte
0

Bem, há uma ferramenta muito útil, seu nome é "Wifi File Transfer". Basta fazer o download na Play Store no seu dispositivo Android e instalá-lo. Ele transforma seu celular Android em um mini servidor que permite baixar e fazer upload de arquivos de e para o seu telefone.

Shakalex
fonte