Contenu | Rechercher | Menus
Selon les tags présents sur cette page, celle-ci est ancienne et ne contient plus d'informations sur une des versions supportées d'Ubuntu.
Cette page est en cours de rédaction.
Apportez votre aide…

MTP - Media Transfer Protocol : un protocole de transfert de fichiers multimédias sur des périphériques externes

Media Transfer Protocol (MTP) est un protocole de transfert de fichiers destiné au monde du multimédia. Créé récemment (depuis 2004 environ), il s'agit d'un ensemble d'ajouts au Picture Transfer Protocol déjà existant utilisé par les appareils photos numériques. Les ajouts apportés à ce protocole permettent de gérer les spécificités des divers appareils multimédia : baladeurs, appareils de photographie numérique, caméras vidéo, téléphones portables, etc. Il est de plus en plus utilisé par les périphériques mobiles.

Originalement créé par Microsoft®, le protocole MTP est désormais développé par le USB Implementers Forum et est en cours de normalisation. Actuellement, le protocole MTP est bien supporté par Windows XP SP2 (Windows Media Player 11 requis, car c'est celui-ci qui apporte le support de MTP sous cet OS) et Windows Vista ; pour les autres systèmes d'exploitation, il est nécessaire d'avoir recours la libmtp.

Sous Ubuntu, le protocole MTP est géré nativement. Ainsi, vos baladeurs sont pris en charge par votre lecteur audio préféré (Banshee, Rhythmbox, Amarok, etc.).

Récemment, MTP est devenu le protocole recommandé par Google pour l'accès aux mémoires des téléphones Android.

Depuis la version 13.04 les différents appareils Android et la plupart des périphériques mtp sont nativement gérés grâce à une mise à jour de la librairie mtp intégrée (11 nov 2013 Ubuntu 13.04).

Si lorsque vous branchez votre appareil Android, celui-ci est reconnu mais est vide sous l'explorateur, il suffit juste de le déverrouiller quand il y a un verrouillage par code, il s'agit d'une sécurité implémentée dans le protocole MTP.

Méthode 1 (recommandée)

Cette méthode a été mise en place pour Ubuntu 12.04 et 12.10 (pour la 13.04 et + le support est déjà intégré).

Pour les appareils Android (4.0 et supérieur) ou tout autre appareil utilisant le protocole MTP, il existe un PPA sur Unity.

Installation

Nous allons utiliser ici un PPA de webupd8team.

  sudo add-apt-repository ppa:webupd8team/unstable
  sudo apt-get update
  sudo apt-get install go-mtpfs go-mtpfs-unity

Une fois fait, supprimez le PPA dans les paramètres du gestionnaire de mises à jour, onglet 'Autres Logiciels', puis décocher la ligne du PPA ppa:webupd8team/unstable. En ligne de commande, la suppression du PPA se fait grace à la commande :

  sudo add-apt-repository --remove ppa:webupd8team/unstable

Les trois méthodes proposées ci-dessous nécessitent l'utilisation de la bibliothèque Fuse

Méthode 2

Utilisation de gphotofs

libmtp2 n'est plus disponible sur Ubuntu 12.04 LTS. Mais la manipulation marche quand même.

Tout d'abord, installez les dépendances libmtp2, libgphoto2-2, libgphoto2-port0. Ensuite, installez l'outil-clé : gphotofs

Ensuite, l'utilisation de gphotofs pour un montage dans /media/mtp (par exemple) :

sudo mkdir /media/mtp 
sudo chmod 777 -R /media/mtp
sudo gphotofs /media/mtp -o allow_other

Donner les droits au bon propriétaire ou au bon groupe à l'aide de la commande chown est toujours préférable à un chmod 777.

ou pour être accessible que par root :

sudo gphotofs /media/mtp -o allow_root

Voilà ! Il ne vous reste plus qu'à rajouter les fichiers musicaux de votre baladeur situés dans le point de montage à votre collection dans votre lecteur favori !

Pour faire l'inverse, c'est-à-dire mettre des fichiers de votre ordinateur dans le lecteur, il faut ajouter l'utlisateur au groupe "fuse". On peut ainsi utiliser un navigateur de fichier (Nautilus, Konqueror…), l'intérêt de cette méthode étant de pouvoir créer/transférer des sous-dossiers. — xaad67 Le 06/05/2010, 17:08

Utilisation de mtpfs

Vous pouvez utiliser aussi Mtpfs ( disponible sous Hardy ), le fonctionnement est similaire à gphotofs mais est accessible pour un simple utilisateur.

Installez le paquet mtpfs

puis pour monter un périphérique en suivant les indications du chapitre précédent :

mtpfs /media/mtp

Démontage du repertoire

Pour démonter le périphérique dans les deux cas ci-dessus :

fusermount -u /media/mtp

Automatiser un peu le montage d'un baladeur mtp sur Jaunty avec mtpfs

Une procédure assez simple permet de créer des raccourcis dans votre menu "Application" de Gnome pour y retrouver les fonctions "Monter le baladeur" et "Démonter le baladeur". Cette procédure utilise le mtpfs et a été réalisée pour le Créative Zen mais peut trouver à s'appliquer pour tout baladeur mtp.

Méthode 3 : En test, mais semble être la méthode la plus simple et la plus efficace

Notez cependant que la version de GVFS proposée ici provient du dépôt personnel (PPA) de Philip Langdale, le développeur du greffon MTP pour GVFS; bien qu’étant testé, elle pourrait néanmoins rendre votre système instable ou entrer en conflit avec des futures mises à jour d’Ubuntu.

L’intérêt de GVFS est qu’il s’agit d’une composante de base d’Ubuntu, bien intégrée dans le système. Ainsi, l’appareil mobile est reconnu par le gestionnaire de fichiers, mais aussi les lecteurs de musique Rhythmbox et Banshee pour synchroniser sa médiathèque, et le gestionnaire de photos Shotwell pour synchroniser sa photothèque.

Pour procéder à la mise à jour de GVFS, suivez les instructions suivantes:

Ouvrez un terminal et exécutez les commandes suivantes:

sudo add-apt-repository ppa:langdalepl/gvfs-mtp
sudo apt-get update

Ouvrez ensuite le gestionnaire de mises à jour, puis appliquez l’ensemble des mises à jour proposées;

Enfin, lorsque les mises à jour sont installées, redémarrez votre système.

Merci à ubuntuser.com pour cette méthode.

Méthode 4 : supporte les téléphones Android (4.0 et supérieur)

A partir de la version 13.04, il semble y avoir un support natif de MTP.

Pour rendre votre téléphone Android compatible avec les anciennes versions de Ubuntu à travers le protocole MTP, vous allez devoir compiler un système de fichiers compatible FUSE (Système de fichiers en environnement utilisateur) appelé : go-mtpfs

N'oubliez pas de vérifier que votre compte utilisateur est membre du groupe « fuse ».

Comme son nom l'indique, go-mtpfs est écrit en langage Go. Il faut donc installer le support de ce langage, ainsi que la librairie de développement libmtp-dev sur laquelle go-mtpfs est basé. Enfin, il faut installer Git, le gestionnaire de version utilisé par le projet go-mtpfs. Installez les dépendances : apt://libmtp-dev, apt://golang, apt://git

Une fois l'environnement de compilation installé, il ne vous reste qu'à lancer les commandes ci-dessous pour compiler et installer go-mtpfs.

mkdir /tmp/go 
export GOPATH=/tmp/go
go get github.com/hanwen/go-mtpfs
sudo cp /tmp/go/bin/go-mtpfs /usr/local/bin/

Pour utiliser go-mtpfs rien de plus simple : branchez votre téléphone/baladeur compatible MTP à l'un des ports USB de votre ordinateur, créez un dossier qui servira de point de montage pour le contenu du périphérique et lancez go-mtpfs. Exemple :

mkdir ~/Bureau/Nexus
go-mtpfs ~/Bureau/Nexus

Une fois vos échanges terminés, pour démonter proprement le périphérique :

fusermount -u ~/Bureau/Nexus

Automatisation de montage/démontage à l'aide du script suivant à associer à un lanceur :

#!/bin/bash
go-mtpfs && thunar ~/Bureau/Nexus
thunar ~/Bureau/Nexus
if  ! go-mtpfs ~/Bureau/Nexus ; then
  fusermount -u ~/Bureau/Nexus
fi

Enfin, pour supprimer toute trace de l'installation de go-mtpfs si vous n'en voulez plus :

rm -rf /tmp/go && rm -f /usr/local/bin/go-mtpfs

Cette méthode fonctionne sous XFCE 12.04 pour le smartphone Acer Z3.

Méthode 5 : Android (4.0 et supérieur)

Faire l'installation en 1.1.

Personnalisation du launcher

Chercher le launcher en utilisant le mot clé Android, puis conservez-le dans la barre des tâches.

Nous allons le personnaliser comme suit :


Ouvrir le fichier :

  gksudo gedit /usr/share/applications/go-mtpfs-unity.desktop

Puis remplacer le contenu par cela :

[Desktop Entry]
Name=Branchement de ma tablette Android
GenericName=Branchement de ma tablette Android
Comment=Mount an Android device filesystem using Go-mtpfs
Keywords=Android; mount; unmount; go-mtpfs; mtpfs; nexus; tablette
Exec=notify-send --icon=go-mtpfs-android "Go-mtpfs" "Ceci est destiné à être utilisé comme une icône de Unity Launcher - ajouter le à la barre de lancement Unity, puis cliquez droit sur l'icône pour voir les options disponibles"
Icon=go-mtpfs-android
Type=Application
Categories=System;
OnlyShowIn=Unity;
X-Ayatana-Desktop-Shortcuts=Mount;Unmount;
TargetEnvironment=Unity
 
[Mount Shortcut Group]
Name=Branche ma Tablette Android
Exec=go-mtpfs-unity mount
TargetEnvironment=Unity
 
[Unmount Shortcut Group]
Name=Débranche ma Tablette Android
Exec=go-mtpfs-unity unmount
TargetEnvironment=Unity

Enregistrer puis fermer Gedit.

Cette méthode fonctionne pour mon cas (12.04 LTS avec tablette ASUS Android 4.2) à condition de lancer les commandes en étant root :

Pour monter : sudo go-mtpfs-unity mount

Seul root a accès à /media/MyAndroid

Pour démonter : sudo go-mtpfs-unity unmount

Fonctionnement

Une fois branchée en USB, la tablette se monte dans le dossier /media/MyAndroid. Apparaît alors un dossier dans Nautilus, sur lequel on peut cliquer et accéder au contenu de la carte SD de la tablette. Le transfert terminé, on peut démonter la tablette et attendre la notification avant de totalement la débrancher du PC.

Une fois connecté en USB deux dossiers "SAMSUNG_Android" sont montés mais les sous dossiers sont vides. Lorsqu'on fait un clic droit sur l’icône Android puis sur "Branche ma Tablette Android" le dossier "/media/MyAndroid" est monté et il contient les sous dossiers à utiliser. NB : Il est conseillé de démonter proprement la partition /media/MyAndroid en faisant un clic droit sur l’icône Android puis sur "Débranche ma Tablette Android"

Méthode 6 : pour les appareils Android (4.0 et supérieur) et un PPA sur gnome-shell

Cette méthode a été mise en place pour Ubuntu 12.04 avec gnome-shell.

Installation

Même installation que pour unity (méthode 4)

Création de shells pour se connecter et se déconnecter

Tout d'abord, en mode sudo créez le dossier qui accueillera la connexion :

sudo mkdir /media/MyAndroid

Ensuite créez deux shells qui vous permettront de vous connecter et de vous déconnecter.

Connexion :

#!/bin/bash
go-mtpfs /media/MyAndroid

Déconnexion :

#!/bin/bash
sudo nautilus /media
exit

Si vous voulez que ces fonctionnalités soient accessibles par tous les comptes ubuntu, en plus de leur donner les droits à exécution :

chmod +x *-Android

Déplacez-les dans le dossier qui va bien :

sudo mv *-Android /usr/local/bin

Pour une question de simplicité, ajoutez-les dans les menus. Par exemple dans Accessoires, ajoutez un dossier : Clic-droit sur le menu Applications ⇒ Éditer les menus Clic-gauche sur Accessoires (dans la liste à gauche) Nouveau menu ⇒ Android Déplier Accessoires et cliquer sur Android Nouvel élément

   => Nom : Monter Android
   => Commande : /usr/local/bin/monter-Android
   Cliquer sur l'icone pour la changer
   Dans la liste de gauche => icons
   Dans la liste de droite => Humanity => devices => 48 => music-player.svg => Ouvrir
   Valider le lanceur
   

Recommencer avec le démontage : Nouvel élément

   => Nom : Démonter Android
   => Commande : /usr/local/bin/demonter-Android
   Cliquer sur l'icone pour la changer
   Dans la liste de gauche => icons
   Dans la liste de droite => Humanity => devices => 48 => music-player.svg => Ouvrir
   Valider le lanceur
   

Fonctionnement

Connexion :

Lors de l'insertion, Ubuntu vous ouvrira un périphérique nommé Android. Vous y verrez tous les dossiers, mais rien dedans. Fermez-le et connectez-vous avec le shell :

Applications ⇒ Accessoires ⇒ Android ⇒ Monter Android

Vous aurez alors accès à MyAndroid et à tous les dossiers et fichiers du périphérique, et vous pourrez copier, déplacer, … les fichiers que vous voulez traiter.

Déconnexion :

Comme tout périphérique, celui-ci doit être démonté, notamment si une écriture a été effectuée sur le périphérique. Ici, le fonctionnement est curieux. La seule façon est de retirer le périphérique en sudo sous nautilus. D'où le shell vous demandant votre mot de passe, et ouvrant ensuite nautilus dans le dossier /media. Vous pourrez alors démonter MyAndroid en utilisant le panneau latéral gauche et en cliquant sur l'icône d'éjection. Personnellement, je préfère avoir le dossier ouvert dans nautilus en arrière-plan pour voir visuellement la déconnexion (la fenêtre de nautilus se fermant lors de l'éjection).

Je n'ai pas été en mesure de monter le périphérique (il s'agissait d'un smartphone) quand dans celui-ci était installé avec une carte SD. Si quelqu'un a la solution …

Méthode 7 : plus difficile

Recompiler son logiciel de musique : Voici plusieurs tutos que vous avez certainement dû rencontrer lors de vos vaines (ou pas) recherches de solutions :

Et voilà, votre baladeur devrait maintenant soit être reconnu comme baladeur mp3 dans amaroK/Gnomad2 , soit être utilisable en tant que stockage amovible !

Liens



Le contenu de ce wiki est sous licence : CC BY-SA v3.0