Onde os dispositivos montados em MTP estão localizados no sistema de arquivos?

174

Eu tenho um telefone Android que se conecta ao meu computador via MTP. Isso funciona bem; Eu posso ver e transferir arquivos com o Nautilus. No entanto, muitas vezes eu quero usar o terminal para mover um grande número de arquivos, e não consigo encontrar o dispositivo em qualquer lugar na árvore do sistema de arquivos. O Nautilus relata o local como mtp://[usb:003,007]/ , mas não está abaixo de /media ou /mnt .

Alguém sabe onde fica?

    
por bessman 06.09.2013 / 22:00

10 respostas

128

Como você já descobriu , os pontos de montagem estão em /run/user/$USER/gvfs/ (ou /var/run/user/$UID/gvfs ) e são nomeados após o protocolo, tipo de conexão e endereço que eles usam. O que torna as coisas mais difíceis, porque o endereço de conexão pode mudar toda vez que você reconecta o dispositivo, mesmo que seja a mesma porta. Se você tiver o mesmo dispositivo duas vezes, fica ainda pior.

Você pode usar lsusb para exibir todos os dispositivos USB conectados do terminal:

$ lsusb | grep Google                       # Note: This is a Nexus 4
Bus 002 Device 025: ID 18d1:4ee2 Google Inc.

Como você percebeu, o Nautilus também fornece essas informações por meio da dica de ferramenta. Você encontrará a forma codificada de, e. mtp://[usb:002,025] em /run/user/$USER/gvfs (ou /var/run/user/$UID/gvfs ) como mtp:host=%5Busb%3A002%2C025%5D

Editar do Asker: Isto parece requerer uma versão mais nova do libmtp e / ou gvfs do que a disponível por padrão no 13.04. Execute sudo add-apt-repository ppa:langdalepl/gvfs-mtp e atualize antes de fazer qualquer outra coisa.

Edit: PPA não é mais necessário no saucy / 13.10 e os nomes de arquivos mais recentes são listados no terminal como estão no Nautilus.

Editar 2016-01-11: Eu removi o script que foi incluído anteriormente nesta resposta devido à falta de tempo para manutenção e melhorias. Você ainda pode encontrá-lo no histórico de revisões.

    
por LiveWireBT 07.09.2013 / 15:25
81

A memória do meu dispositivo Nexus pode ser acessada em:

/run/user/$UID/gvfs/mtp*

Então, se o seu $ UID for 1000 , você poderá encontrá-lo fazendo

$ cd /run/user/$UID/gvfs/mtp*

ou (para o local exato em um exemplo assumindo que seu UID é 1000),

$ cd /run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/
    
por Babken Vardanyan 15.02.2015 / 08:39
21
O dispositivo montado com

MTP geralmente pode ser encontrado em: /run/user/1000/gvfs/

por exemplo, se a barra de endereços do Nautilus mostrar mtp://[usb:001,006]/ , você poderá acessar:

/run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/

agora no terminal você pode copiar arquivos ou pastas:

  • cd na pasta - > %código%
  • copie as pastas necessárias para o diretório atual - > %código%
por simple_human 10.03.2015 / 05:07
10

Digite mount . Isso listará todos os sistemas de arquivos ativos.

    
por waltinator 06.09.2013 / 23:50
8

Isso está trabalhando com:

  • Linux Mint 17.3
  • Samsung Galaxy S5

tente isto:

  1. apt-get install mtpfs
  2. %código%
    • apt-get install mtp-tools yes poderia ser uma linha (isso é opcional )
  3. #
  4. %código%
    • sudo mkdir -p /media/mtp/phone Pessoalmente, eu restringir as permissões para NO-eXecute
    • sudo chmod 775 /media/mtp/phone Neste momento, não sei o que é suficiente para montar.
  5. Desconecte o micro-USB e o plug-in do telefone e, em seguida, ...
  6. #
  7. #

saída:

 total 0
 drwxrwxrwx 2 will will 0 Jan  1  1970 Card
 drwxrwxrwx 2 will will 0 Jan  1  1970 Phone
 drwxrwxrwx 2 will will 0 Jan  1  1970 Playlists
  1. sudo mtpfs -o allow_other /media/mtp/phone

saída:

 total 0
 drwxrwxrwx 2 will will 0 Jan  1  1970 Android
 drwxrwxrwx 2 will will 0 Jan  1  1970 DCIM
 drwxrwxrwx 2 will will 0 Jan  1  1970 LOST.DIR
 drwxrwxrwx 2 will will 0 Jan  1  1970 Music

Listar o acesso ao cartão SD no meu telefone Android. " Listas de reprodução " é um diretório virtual chamado "/ Playlists", que contém suas listas de reprodução como arquivos .m3u. (por ls -lt /media/mtp/phone )

Isso parece fazer o truque. Comandos úteis para lembrar ...

  • ls -lt /media/mtp/phone/Card ... lista as opções do dispositivo. Isso parece funcionar apenas antes de você ter montado o dispositivo. Então verifique primeiro, talvez.
  • man mtpfs ... mostra muitas coisas sobre o dispositivo (parte do mtp-tools).

Também acho que você precisa do telefone / dispositivo " on ", abra o protetor de tela se tiver um para que o dispositivo possa se conectar.

Notei que o meu USB-s monta como:

  • / media / will / usbdrive

Por isso, pode ser mais sensato montar com o seu nome de usuário em vez do stub "mtp". Também rever o post: " Montando o seu cartão SD MTP Androids no Ubuntu ", tem algumas sugestões e extras úteis.

referências:

Eu tomei a liderança nesses dois posts:

por will 11.01.2016 / 21:11
6

Esta não é uma resposta direta ao problema, mas uma solução, no entanto.

Após experimentar inconsistência com conectividade USB, eu ignorei o sistema .gvfs e USB juntos.

Eu instalei um servidor ftp simples no android e pronto! Conecte-se ao servidor (ftp com login ou sem, dependendo de como você escolhe) do Nautilus / nemo / thunar e você vai longe.

A sincronização das pastas é feita através do OwnCloud e / ou BitTorrentSync.

E o FTP via wireless é muito mais rápido que a conexão USB.

    
por Nick Heywood 27.10.2013 / 03:11
6

Eu tenho um telefone LG2 e estou executando o Xubuntu 15.10.

Foi assim que montei o dispositivo no diretório mnt sob o meu usuário.

  1. Primeiro, verifique se você possui os seguintes pacotes instalados em seu sistema.

    sudo apt-get install jmtpfs mtp-tools
    
  2. Conecte seu telefone como dispositivo MTP e digite o seguinte comando no seu terminal.

    mtp-detect
    
  3. Remova o comentário user_allow_other no arquivo /etc/fuse.conf .

  4. Crie um diretório mnt em seu diretório pessoal.

    mkdir mnt
    
  5. Monte o dispositivo.

    jmtpfs ~/mnt
    
  6. Isso é tudo. Agora seu dispositivo está montado no diretório mnt criado na etapa 4 .

Observação: pode haver algumas etapas desnecessárias. Mas seguindo os passos acima trabalhei para mim.

Referência: link

    
por Iron Heart 16.12.2015 / 07:00
4

O MTP é um protocolo, muito parecido com o FTP ou o SSH. Ele busca arquivos quando o usuário solicita. Portanto, não há sistema de arquivos montado no computador.

Use o mtpfs para fazer com que pareça um sistema de arquivos montado.

mtpfs <a_folder_to_mount>

Não há necessidade de especificar o dispositivo. Se você tiver apenas um dispositivo conectado, não haverá ambigüidade. Eu não testei com vários dispositivos conectados ao meu computador.

    
por Krishnendu 13.02.2015 / 09:05
2

Eu não sei exatamente para atravessar a localização do MTP via terminal. No entanto, descobri que podemos clicar com o botão direito no armazenamento interno / cartão SD e escolher a opção "Abrir no Terminal". Fazendo isso, o local é aberto diretamente no Terminal.

    
por Vikas Mohan 16.04.2018 / 12:48
0

Consigo gerenciar arquivos em um dispositivo Android conectado a MTP usando os comandos gvfs-* (por exemplo, gvfs-cp , gvfs-move , ...), que também são mencionados no artigo da Wikipédia : GVfs .

Eu escrevi um utilitário CLI simples para sincronização de arquivos de / para um dispositivo Android: link

    
por Dušan Maďar 23.08.2015 / 19:15