web-dev-qa-db-fra.com

Où se trouvent les périphériques montés MTP dans le système de fichiers?

J'ai un téléphone Android qui se connecte à mon ordinateur via MTP. Cela fonctionne bien. Je peux voir et transférer des fichiers avec Nautilus. Cependant, je souhaite souvent utiliser le terminal pour déplacer un grand nombre de fichiers, et il semble impossible de trouver le périphérique dans l’arborescence du système de fichiers. Nautilus indique l'emplacement comme mtp://[usb:003,007]/, mais ce n'est pas sous /media ou /mnt.

Quelqu'un sait-il où cela se trouve?

194
bessman

Comme vous l'avez déjà trouvé , les points de montage se trouvent dans /run/user/$USER/gvfs/ (ou /var/run/user/$UID/gvfs) et portent le nom du protocole, du type de connexion et de l'adresse qu'ils utilisent. Cela rend les choses plus difficiles, car l'adresse de connexion peut changer à chaque fois que vous rebranchez le périphérique, même s'il s'agit du même port. Si vous avez le même appareil deux fois, cela devient encore pire.

Vous pouvez utiliser lsusb pour afficher tous les périphériques USB connectés à partir du terminal:

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

Comme vous l'avez remarqué, Nautilus fournit également ces informations via une info-bulle. Vous trouverez la forme codée, par exemple, mtp://[usb:002,025] in /run/user/$USER/gvfs (ou /var/run/user/$UID/gvfs) en tant que mtp:Host=%5Busb%3A002%2C025%5D


Edition de Asker: Cela semble nécessiter une version plus récente de libmtp et/ou de gvfs par rapport à celle disponible par défaut dans 13.04. Exécutez Sudo add-apt-repository ppa:langdalepl/gvfs-mtp et mettez à jour avant de faire quoi que ce soit d'autre.


Edit: PPA n’est plus nécessaire dans Saucy/13.10 et plus récent, les noms de fichiers sont listés dans le terminal comme dans Nautilus.

Edit 2016-01-11: J'ai supprimé le script précédemment inclus dans cette réponse, faute de temps pour la maintenance et les améliorations. Vous pouvez toujours le trouver dans l'historique des révisions.

145
LiveWireBT

La mémoire de mon appareil Nexus est accessible à l'adresse suivante:

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

Donc, si votre $ UID est 1000, vous pouvez le trouver soit en faisant

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

ou (pour l'emplacement exact dans un exemple en supposant que votre UID est 1000),

$ cd /run/user/1000/gvfs/mtp\:Host=%5Busb%3A001%2C006%5D/
90
Babken Vardanyan

MTP périphérique monté peut généralement être trouvé dans: /run/user/1000/gvfs/


par exemple, si votre barre d’adresse Nautilus affiche mtp://[usb:001,006]/, vous pouvez accéder par:

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

maintenant sur le terminal, vous pouvez copier des fichiers ou des dossiers:

  • cd dans le dossier -> cd /run/user/1000/gvfs/mtp\:Host=%5Busb%3A001%2C006%5D/
  • puis copiez les dossiers requis dans le répertoire en cours -> cp -r ~/videos/ .
23
suhailvs

Tapez mount. Cela listera tous les systèmes de fichiers actifs.

10
waltinator

Cela fonctionne avec:

  • Linux Mint 17.3
  • Samsung Galaxy S5

essaye ça:

  1. apt-get install mtpfs
  2. apt-get install mtp-tools
    • # yes pourrait être une ligne (c'est optionnel )
  3. Sudo mkdir -p /media/mtp/phone
  4. Sudo chmod 775 /media/mtp/phone
    • # Personnellement, je limiterais les autorisations à NO-eXecute
    • # À ce stade, je ne suis pas sûr de ce qui est suffisant pour être monté.
  5. Débranchez le téléphone micro-USB et plug-in, puis ...
  6. Sudo mtpfs -o allow_other /media/mtp/phone
  7. ls -lt /media/mtp/phone

sortie:

 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. ls -lt /media/mtp/phone/Card

sortie:

 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

Liste des accès à la carte SD sur mon téléphone Android. " Listes de lecture " est un répertoire virtuel appelé "/ Listes de lecture" qui contient vos listes de lecture sous forme de fichiers .m3u. . (par man mtpfs)

Cela semble faire l'affaire. Commandes utiles à retenir ...

  • Sudo mtpfs -h ... répertorie les options du périphérique. Cela semble fonctionner uniquement avant que vous ayez monté l'appareil. Alors, vérifiez d'abord, peut-être.
  • mtp-detect ... montre beaucoup de choses sur le périphérique (qui fait partie de mtp-tools).

Aussi, je pense que vous avez besoin du téléphone/de l'appareil " sur ", ouvrez l'économiseur d'écran si vous en avez un pour que l'appareil puisse se connecter.

J'ai remarqué que mon USB-s monter comme:

  • / media/will/ usbdrive

Il serait donc peut-être plus logique de monter sous votre nom d'utilisateur au lieu du stub "mtp". Consultez également le message: " Montage de votre carte SD MTP Androids sur Ubunt ", il contient quelques suggestions et extras utiles.

références:

J'ai pris mon avance de ces deux postes:

9
will

J'ai un téléphone LG2 et j'utilise Xubuntu 15.10.

Voici comment j'ai monté l'appareil dans le répertoire mnt sous mon utilisateur.

  1. Tout d’abord, assurez-vous que les packages suivants sont installés sur votre système.

    Sudo apt-get install jmtpfs mtp-tools
    
  2. Connectez votre téléphone en tant que périphérique MTP et tapez la commande suivante dans votre terminal.

    mtp-detect
    
  3. Uncomment user_allow_other dans le fichier /etc/Fuse.conf.

  4. Créez un répertoire mntdans votre répertoire personnel.

    mkdir mnt
    
  5. Montez l'appareil.

    jmtpfs ~/mnt
    
  6. C'est tout. Votre appareil est maintenant monté dans le répertoire mntcréé à l’étape 4 .

Remarque: Certaines étapes peuvent être inutiles. Mais suivre les étapes ci-dessus a fonctionné pour moi.

Référence: https://wiki.archlinux.org/index.php/MTP

8
Iron Heart

Ce n'est pas une réponse directe au problème, mais une solution quand même.

Après avoir constaté des incohérences avec la connectivité USB, j'ai contourné le système .gvfs et le système USB.

J'ai installé un simple serveur FTP sur le Android et le tour est joué! Connectez-vous au serveur (via ftp avec ou sans login, selon votre choix) à partir de Nautilus/nemo/thunar et c'est parti.

La synchronisation des dossiers est gérée par OwnCloud et/ou BitTorrentSync.

Et le FTP sur le réseau sans fil est bien plus rapide que la connexion USB.

6
Nick Heywood

MTP est un protocole, un peu comme FTP ou SSH. Il récupère les fichiers lorsque l'utilisateur le demande. Ainsi, il n'y a pas de système de fichiers monté sur l'ordinateur.

Utilisez mtpfs pour qu’il apparaisse comme un système de fichiers monté.

mtpfs <a_folder_to_mount>

Pas besoin de spécifier le périphérique. Si vous n'avez qu'un seul appareil connecté, il n'y a pas d'ambiguïté. Je ne l'ai pas testé avec plusieurs périphériques connectés à mon ordinateur.

4
Krishnendu

Je ne sais pas exactement comment se rendre à l'emplacement MTP via un terminal. Cependant, j'ai découvert que nous pouvions cliquer avec le bouton droit de la souris sur la carte de stockage interne/SD et choisir l'option "Ouvrir dans le terminal". Ce faisant, l'emplacement est directement ouvert dans Terminal.

4
Vikas Mohan

Je suis capable de gérer des fichiers sur un périphérique connecté MTP Android à l'aide de gvfs-* commandes (par exemple, gvfs-cp, gvfs-move, ...), qui sont également mentionnés dans l'article suivant de Wikipédia : GVfs .

J'ai écrit un utilitaire CLI simple pour la synchronisation de fichiers vers/depuis un périphérique Android: https://github.com/DusanMadar/PySyncDroid

1
Dušan Maďar