Billet du blogue

Monter un périphérique MTP sous Linux

J’ai concocté un petit script maison qui permet de mounter un périphérique MTP (comme mon lecteur Creative Zen) en tant que disque sous Linux. Il nécessite seulement le paquet mtpfs qu’on peut installer avec la commande :

sudo apt-get install mtpfs

Le script est donc le suivant :

#!/bin/bash
# Ce script requiert le paquet `mtpfs`
# Vous utilisez ce script à vos risques et périls. Je ne serai pas responsable si il arrive quoi que ce soit à votre périphérique ou aux fichiers qu'il contient !

if [[ $1 == "mount" ]]
then

    if [[ -d "/media/mtpdevice" ]]
    then
        echo "Le dossier /media/mtpdevice/ existe déjà. Vous devez le supprimer avant de monter un périphérique MTP."
    else
        mkdir /media/mtpdevice
        mtpfs /media/mtpdevice
        echo "Périphérique MTP monté de /media/mtpdevice/"
    fi

elif [[ $1 == "umount" ]]
then

    if [[ !( -d "/media/mtpdevice" ) ]]
    then
        echo "Le dossier /media/mtpdevice/ n'existe pas. Êtes-vous certain qu'un périphérique MTP est monté?"
    else
        umount /media/mtpdevice/
        rm -R /media/mtpdevice/
        echo "Périphérique MTP démonté de /media/mtpdevice/"
    fi

fi

Pour l’utiliser, vous n’avez qu’à copier le code dans un fichier (exemple mtp.sh) et ensuite de le rendre exécutable avec la commande suivante :

chmod +x mtp.sh

Ensuite, vous pourrez utiliser le script de la façon suivante :

# Pour monter le périphérique
sudo ./mtp.sh mount

# Pour démonter le périphérique
sudo ./mtp.sh umount

Le script n’est pas tout à fait au point. Par exemple, si on essaie de démonter le périphérique et qu’il est busy, la commande umount ne fonctionnera pas, mais le rm -R lui sera quand même exécuté… Il est donc pertinent avant de démonter le périphérique de taper la commande suivante afin de vérifier qu’aucun fichier du périphérique n’est en cours d’utilisation :

lsof | grep mtpdevice

Si aucune ligne n’apparait, le périphérique est prêt à être démonté.

Si vous avez des suggestions (ou des optimisations de code), vous pouvez m’en faire part dans les commentaires de ce billet!

Posté le avec les tags: et .

Commentaires fermés

Les commentaires pour ce billet ont été désactivés un mois après la date de publication de ce-dernier. Vous désirez exprimer votre opinion sur ce billet malgré le fait que les commentaires aient été désactivés ? Utilisez le formulaire de contact.


Fil atom des commentaires de ce billet5 commentaires

  • Wow… vivement mon interface graphique! Haha

    Jason (26 mars 2009 à 9:07 EST)

  • Wow… vivement mon interface graphique! Haha

    Moi aussi je peux le faire de façon « graphique » dans GNOME, j’aime juste mieux naviguer en command line :)

    Rémi Prévost (26 mars 2009 à 10:11 EST)

  • Pourquoi tu fais pas le test du grep dans ton script?

    brem (26 mars 2009 à 13:48 EST)

  • Pourquoi tu fais pas le test du grep dans ton script?

    J’y ai pensé ce matin, et je n’avais pas le temps de le tester. Ça sera fait très bientôt ;)

    Rémi Prévost (26 mars 2009 à 14:18 EST)

  • Bonjour, je viens de découvrir Gnomad qui fait ça très bien avec un Samsung S3. Gérant en tant que multimédia et en tant que système de fichier……beaucoup plus simple que Amarok qui fait uniquement la partie musique (ou alors j’ai pas trouvé le reste..!) Je suis sous Mandriva 2009.0 Merci néanmoins de ton aide et ton script qui m’a aidé au début

    Tiroulou (31 mars 2009 à 14:58 EST)