Question Où sont les périphériques montés MTP situés dans le système de fichiers?


J'ai un téléphone Android qui se connecte à mon ordinateur via MTP. Cela fonctionne très 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 je n'arrive pas à 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.

Est-ce que quelqu'un sait où il est?


167
2017-09-06 20:00


origine


Duplicata possible de Afficher le chemin d'accès 'cd' au périphérique mtp dans Nemo - dimo414


Réponses:


Comme vous l'avez déjà découvert, les points de montage sont dans /run/user/$USER/gvfs/ (ou /var/run/user/$UID/gvfs) et sont nommés d'après le protocole, le type de connexion et 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 empire encore.

Vous pouvez utiliser lsusb pour afficher tous les périphériques USB connectés depuis le 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 de p. Ex. mtp://[usb:002,025] dans /run/user/$USER/gvfs (ou /var/run/user/$UID/gvfs) comme mtp:host=%5Busb%3A002%2C025%5D


Edition de l'asker: Cela semble nécessiter une version plus récente de libmtp et / ou gvfs que celle disponible par défaut au 13.04. Courir sudo add-apt-repository ppa:langdalepl/gvfs-mtp et mettre à jour avant de faire autre chose.


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.

Modifier 11/01/2016: J'ai supprimé le script précédemment inclus dans cette réponse en raison du manque de temps pour la maintenance et les améliorations. Vous pouvez toujours le trouver dans l'historique des révisions.


124
2017-09-07 13:25



Merci pour votre réponse. Malheureusement, cela ne fonctionne pas car les noms de dossiers réels (par exemple / DCIM / Camera /) ne sont visibles que dans Nautilus, pas dans le terminal. Ainsi, $ Path / DCIM / Camera n'est pas accessible avec rsync. - bessman
Le chemin est juste un exemple et est différent pour les téléphones Android. Le téléphone doit également être déverrouillé via l'écran de verrouillage pour permettre l'accès aux données. - LiveWireBT
Le chemin /DCIM/Camera/ existe sur mon téléphone, mais dans le terminal, il est appelé /2404/2407/. C'est le problème. Si je cd dans /2404/2407/ et courir nautilus ., puis /DCIM/Camera/ est ouvert. Le téléphone est déverrouillé, sinon je ne pourrais pas y accéder via Nautilus, non? - bessman
Notez que pour que tout cela fonctionne, vous devez avoir le gvfs-fuse paquet installé. Toutes les versions / saveurs d'Ubuntu ne l'ont pas par défaut (par exemple, Ubuntu MATE 14.10 ne le fait pas). Sans elle, le périphérique MTP ne sera pas monté en tant que chemin local et ne sera utilisable que par les applications prenant en charge les URI gvfs. - user149408
J'ai trouvé le gvfs/ répertoire éventuellement. Cependant, au lieu de $ USER, le chemin sur ce PC est le suivant: /run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C003%5D - Pour d’autres, je vous suggère de faire un tour, si vous ne le trouvez pas tout de suite. - will


La mémoire de mon appareil Nexus est accessible à:

/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/

78
2018-02-15 07:39



Ce devrait être la réponse acceptée, car il ne nécessite aucun logiciel supplémentaire. Merci beaucoup utilisateur2529583! - NH.
Toute idée si le mtp* Le nom de fichier peut être renommé pour être utilisé dans les applications Wine? Naïve mv Donne moi mv: cannot move 'mtp:host=%5Busb%3A001%2C065%5D' to 'mtp': No such file or directory (notez que le nom de fichier est complété par tabulation) - Mark Jeronimus
@Mark n'importe quel caractère est un nom de fichier valide dans linux. Regardez s'il y a un moyen de le renommer sans mv. - Babken Vardanyan
Impressionnant. Cela fonctionne parfaitement bien et m'a sauvé beaucoup d'essayer sur Raspbian Wheezy et Jessie - Zimano


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


par exemple si votre barre d'adresse Nautilus montre mtp://[usb:001,006]/, alors 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 actuel -> cp -r ~/videos/ .

21
2018-03-10 04:07



Cela fonctionne exactement comme vous dites. Mais quand je fais "ls -a" c'est vide. - ycc_swe


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


10
2017-09-06 21:50



Non, le périphérique ne s'affiche pas dans la sortie. - LiveWireBT
Hmm. Cela a fonctionné. Je l'ai trouvé sous / run / user / myusername / gvfs /. Cependant, tous les noms de dossier ne sont que des nombres au lieu des noms réels que je vois dans Nautilus. En tant que tel, cela ne résout pas vraiment mon problème car je ne peux toujours pas utiliser facilement le terminal pour déplacer des fichiers vers le périphérique. - bessman
Lorsque Nautilus a ouvert le périphérique MTP, utilisez les commandes lsof -c nautilus | less pour lister tous les fichiers ouverts par Nautilus. - waltinator
Cela l'a résolu pour moi :) - marlar


Cela fonctionne avec:

  • Linux Mint 17.3
  • Samsung Galaxy S5

essaye ça:

  1. apt-get install mtpfs
  2. apt-get install mtp-tools
    • # oui 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 assez à monter.
  5. Débranchez le téléphone micro-USB et le 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 d'accès à la carte SD sur mon téléphone Android. "Playlists"est un répertoire virtuel appelé" / Playlists "qui contient vos listes de lecture en tant que fichiers .m3u. man mtpfs)

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

  • sudo mtpfs -h ... répertorie les options de l'appareil. Cela ne semble fonctionner que si vous avez monté le périphérique. Alors, vérifiez d'abord, peut-être.
  • mtp-detect ... montre beaucoup de des trucs à propos de l'appareil (partie de mtp-tools).

Je pense aussi que vous avez besoin du téléphone / appareil "sur", ouvrez l'écran de veille si vous en avez un, afin que l'appareil puisse se connecter.

J'ai remarqué que mon port USB se montait comme suit:

  • / media / volonté /clé USB

Il serait donc plus judicieux de monter sous votre nom d'utilisateur au lieu du stub "mtp". Consultez également le post: "Montage de votre carte SD Androids MTP sur Ubuntu", il a quelques suggestions et extras utiles.

les références:

Je me suis inspiré de ces deux articles:


7
2018-01-11 20:11



Salut bien que cela fonctionne, je trouve toujours que le MTP est trop lent et souvent il est comme si mon PC Linux est verrouillé. Je soutiens les autres commentaires sur l'utilisation de FTP. J'ai fait quelques recherches et je recommande le sshelper app. C'est très utile, open source et mature. Fonctionne avec Windows, Linux et Mac - Ou tout ce qui prend en charge SSH. Facile à utiliser aussi. Essayez. - will


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

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

J'ai installé un serveur FTP simple sur Android et le tour est joué! Connectez-vous au serveur (ftp avec ou sans connexion, selon votre choix) 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 sans fil est beaucoup plus rapide que la connexion USB.


6
2017-10-27 02:11





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

Voici comment j'ai monté le périphérique dans le répertoire mnt sous mon utilisateur.

  1. Assurez-vous d’avoir les paquets suivants 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. Décommenter user_allow_other dans le fichier /etc/fuse.conf.

  4. Créer un répertoire mnt dans votre répertoire personnel.

    mkdir mnt
    
  5. Montez l'appareil.

    jmtpfs ~/mnt
    
  6. C'est tout. Maintenant, votre appareil est monté sous le mnt répertoire créé dans é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


6
2017-12-16 06:00