mtpfs : Montez vos périphériques MTP sous Linux
Table des matières
Quand on a un périphérique MTP sous Linux (typiquement mon téléphone sous Android) quand je le connecte, j'accède correctement à mes documents via le gestionnaire de fichiers (Nautilus, je suis sous GNOME).
L'URL ici de ma carte SD est :
Je ne peux donc pas exécuter des commandes pour "mv" "cp" ou "rm" des fichiers via la console, ni égaliser mes fichiers de musique avec Vorbisgain.
On va donc voir ici comment monter dans notre arborescence locale notre périphérique MTP.
J'utilise ponctuellement mtpfs depuis quelques années et les performances sont très bonnes ! (Testé avec mon Huawei PRA-LX1 et précédemment Samsung Galaxy S2).
Cela est donc indépendant de votre environnement de bureau.
Vous pouvez sans doute l'installer sur une machine sans interface graphique qui vous servirait de serveur chez vous, puisr faire un script de synchro de vos photos dès l'insertion de votre périphérique MTP par exemple.
C'est là qu'entre en jeu mtpfs !
Tout comme SSHFS dont j'ai déjà parlé sur ce site, il va permetre de monter via Fuse facilement un appareil utilisant le protocole MTP.
On installe donc mtpfs.
Sous Gentoo/Calculate Linux :
Sous Fedora :
Si c'est pas dispo pour votre distribution (Chez Debian, Ubuntu, c'est inexistant...) vous pouvez compiler l'outil en prenant les sources : https://github.com/phatina/simple-mtpfs
Maintenant, il n'y a plus qu'à utiliser
Dans un premier temps, on doit évidemment brancher le périphérique MTP et autoriser le transfert des fichiers :
Une fois fait, on peut créer dans notre dossier personnel un dossier dans lequel on va monter le périphérique mtp (j'utilise /home/adrien/mnt) :
Pour vérifier que notre périphérique est détecté, on peut utiliser :
ici, je n'ai qu'un téléphone, mais si vous avez à un instant T plusieurs périphériques MTP, vous pourrez choisir celui à monter avec l'option --device N où N est le numéro remonté par la précédente commande. Par défaut, le premier sera monté.
Pour monter, le périphérique (Il ne doit pas être monté), on utilisera la commande mtpfs suivi du point de montage :
Et voilà, le périphérique est monté dans notre arborescence :
On peut alors naviguer en console et exécuter des commandes comme si c'était une simple clé USB ou disque :
Pour démonter le périphérique MTP, on utilisera soit le bouton "Eject" du gestionnaire de fichiers, soit la commande :
Et voilà !
Juste un petit complément ici.
Le montage via mtpfs ne fonctionne pas si le montage auto se fait dans GNOME.
Il est possible de le désactiver via dconf-editor : org > gnome > desktop > media-handling et décocher automount and automount-open.
En ligne de commande :
Et pour rétablir l'automontage on recoche ou on passe les 2 valeurs à true :
Introduction
Quand on a un périphérique MTP sous Linux (typiquement mon téléphone sous Android) quand je le connecte, j'accède correctement à mes documents via le gestionnaire de fichiers (Nautilus, je suis sous GNOME).
Caché :
L'URL ici de ma carte SD est :
Code TEXT :
mtp://HUAWEI_PRA-LX1_9DC7N18125001169/Carte%20SD
Je ne peux donc pas exécuter des commandes pour "mv" "cp" ou "rm" des fichiers via la console, ni égaliser mes fichiers de musique avec Vorbisgain.
Code BASH :
cd mtp://HUAWEI_PRA-LX1_9DC7N18125001169/Carte%20SD
Code TEXT :
bash: cd: mtp://HUAWEI_PRA-LX1_9DC7N18125001169/Carte%20SD: Aucun fichier ou dossier de ce type
On va donc voir ici comment monter dans notre arborescence locale notre périphérique MTP.
J'utilise ponctuellement mtpfs depuis quelques années et les performances sont très bonnes ! (Testé avec mon Huawei PRA-LX1 et précédemment Samsung Galaxy S2).
Cela est donc indépendant de votre environnement de bureau.
Vous pouvez sans doute l'installer sur une machine sans interface graphique qui vous servirait de serveur chez vous, puisr faire un script de synchro de vos photos dès l'insertion de votre périphérique MTP par exemple.
Installer mtpfs
C'est là qu'entre en jeu mtpfs !
Tout comme SSHFS dont j'ai déjà parlé sur ce site, il va permetre de monter via Fuse facilement un appareil utilisant le protocole MTP.
On installe donc mtpfs.
Sous Gentoo/Calculate Linux :
Code BASH :
emerge -av sys-fs/simple-mtpfs
Sous Fedora :
Code BASH :
dnf install simple-mtpfs
Si c'est pas dispo pour votre distribution (Chez Debian, Ubuntu, c'est inexistant...) vous pouvez compiler l'outil en prenant les sources : https://github.com/phatina/simple-mtpfs
Maintenant, il n'y a plus qu'à utiliser
Utiliser MTPFS
Dans un premier temps, on doit évidemment brancher le périphérique MTP et autoriser le transfert des fichiers :
Une fois fait, on peut créer dans notre dossier personnel un dossier dans lequel on va monter le périphérique mtp (j'utilise /home/adrien/mnt) :
Code BASH :
mkdir ~/mnt
Pour vérifier que notre périphérique est détecté, on peut utiliser :
Code BASH :
mtpfs --list-devices
Code TEXT :
1: HuaweiP9 Plus
ici, je n'ai qu'un téléphone, mais si vous avez à un instant T plusieurs périphériques MTP, vous pourrez choisir celui à monter avec l'option --device N où N est le numéro remonté par la précédente commande. Par défaut, le premier sera monté.
Pour monter, le périphérique (Il ne doit pas être monté), on utilisera la commande mtpfs suivi du point de montage :
Code BASH :
mtpfs ~/mnt
Et voilà, le périphérique est monté dans notre arborescence :
On peut alors naviguer en console et exécuter des commandes comme si c'était une simple clé USB ou disque :
Pour démonter le périphérique MTP, on utilisera soit le bouton "Eject" du gestionnaire de fichiers, soit la commande :
Code BASH :
fusermount -u ~/mnt
Et voilà !
Désactiver le montage automatique sous GNOME
Juste un petit complément ici.
Le montage via mtpfs ne fonctionne pas si le montage auto se fait dans GNOME.
Il est possible de le désactiver via dconf-editor : org > gnome > desktop > media-handling et décocher automount and automount-open.
En ligne de commande :
Code BASH :
gsettings set org.gnome.desktop.media-handling automount false gsettings set org.gnome.desktop.media-handling automount-open false
Et pour rétablir l'automontage on recoche ou on passe les 2 valeurs à true :
Code BASH :
gsettings set org.gnome.desktop.media-handling automount true gsettings set org.gnome.desktop.media-handling automount-open true