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?
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.
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/
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 /run/user/1000/gvfs/mtp\:Host=%5Busb%3A001%2C006%5D/
cp -r ~/videos/ .
Tapez mount
. Cela listera tous les systèmes de fichiers actifs.
Cela fonctionne avec:
essaye ça:
apt-get install mtpfs
apt-get install mtp-tools
#
yes pourrait être une ligne (c'est optionnel )Sudo mkdir -p /media/mtp/phone
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é.Sudo mtpfs -o allow_other /media/mtp/phone
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
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:
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.
J'ai pris mon avance de ces deux postes:
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.
Tout d’abord, assurez-vous que les packages suivants sont installés sur votre système.
Sudo apt-get install jmtpfs mtp-tools
Connectez votre téléphone en tant que périphérique MTP et tapez la commande suivante dans votre terminal.
mtp-detect
Uncomment user_allow_other
dans le fichier /etc/Fuse.conf
.
Créez un répertoire mnt
dans votre répertoire personnel.
mkdir mnt
Montez l'appareil.
jmtpfs ~/mnt
C'est tout. Votre appareil est maintenant monté dans le répertoire mnt
créé à 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
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.
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.
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.
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