Gvfs-mount, le montage pour GVFS en ligne de commande

Il peut vous arriver d’avoir besoin de monter un dossier distant sur Ubuntu depuis la console ou via une commande, mais sans utiliser Nautilus; cependant on veut pouvoir bénéficier de la flexibilité de GVFS.

Les utilisations peuvent être, par exemple, dans un script bash, par un accès distant en ssh, pour une application ne supportant pas (ou pas encore) les librairies gvfs de gnome, ou tout simplement pour monter au démarrage de la session un répertoire distant sans pour autant le mettre dans le fstab (dans le cas d’une machine muti-utilisateurs).

C’est là qu’intervient la commande gvfs-mount.

Il faut au préalable installer gvfs-bin (description du paquet)

sudo apt-get install gvfs-bin
ou bien: apt://gvfs-bin

Puis par exemple pour monter le dossier « stockage » d’un partage samba situé sur la machine 10.0.0.12, la commande est la suivante:

gvfs-mount smb://10.0.0.12/stockage/

et vous récupérez votre dossier monté dans:
/home/votre_user/.gvfs/stockage sur 10.0.0.12/
Tous les répertoires montés ainsi se retrouvent automatiquement dans /home/votre_user/.gvfs/ (le point de montage FUSE de GVFS)
Et celui-ci sera également disponible dans le panneau d’arborescence et de raccourcis de Nautilus.

Pour démonter le répertoire distant:

gvfs-mount -u smb://10.0.0.12/stockage/

ou bien depuis Nautilus par un clic-droit « Démonter le volume ».

Options disponibles:

Utilisation :
gvfs-mount [OPTION…] – mount <location>

Options de l’aide :
-?, –help Affiche les options de l’aide

Options de l’application :
-m, –mountable Mount as mountable
-u, –unmount Unmount
-l, –list List
-i, –list-info List extra information

Note: je n’ai pas réussi pour l’instant à utiliser l’option -m

10 thoughts on “Gvfs-mount, le montage pour GVFS en ligne de commande”

  1. Pascal says:

    Bonjour,

    merci pour cet article intéressant. La méthode est très simple, mais je rencontre un problème. Lorsque le tape quelque chose comme gvfs-mount smb://10.0.0.12/stockage/, je me prends l’erreur suivante :

    Error mounting location: le volume n’implémente pas « mount »

    Est-ce que cela vous évoque quelque-chose ?

    Merci beaucoup par avance…

  2. tof says:

    Il faut au préalable installer le paquet gvfs-bin.
    Pour Ubuntu: sudo apt-get install gvfs-bin

  3. Nathael Pajani says:

    gvfs-bin est installé chez moi, mais rien à faire :

    gvfs-mount -m ssh://drizzt@drzdell
    Error mounting location: Opération non prise en charge

    et depuis nautilus j’ai l’erreur suivante :
    Impossible d’afficher « sftp://drizzt@drzdell:22/home/drizzt ».
    Nautilus ne reconnaît pas les emplacements « sftp ».

    Hors tout fonctionnait il y a peu

    Le lus étrange, c’est que j’ai un poste sur lequel cela fonctionne toujours, mais si je fais un ssh -X dessus puis que je lance Nautilus, j’ai le même message d’erreur !!!
    Donc cela fonctionne en local, mais pas en export display !!!!

    Je n’y comprends rien. si quelqu’un a une piste …

    Sur le PC ou plus rien ne fonctionne :
    # dpkgg gvfs
    ii gvfs 1.4.3-2 userspace virtual filesystem – server
    ii gvfs-backends 1.4.3-2 userspace virtual filesystem – backends
    ii gvfs-bin 1.4.3-2 userspace virtual filesystem – binaries
    ii gvfs-fuse 1.4.3-2

    Sur le PC ou tout est OK :
    ii gvfs 1.4.3-1 userspace virtual filesystem – server
    ii gvfs-backends 1.4.3-1 userspace virtual filesystem – backends
    ii gvfs-fuse 1.4.3-1 userspace virtual filesystem – fuse server

    Est-ce que cela vient de la version ???

  4. tof says:

    Alors déjà dans Nautilus ce n’est plus sftp://drizzt@drzdell depuis quelques versions (depuis plus d’un an je crois), mais directement dans la barre d’adresse de Nautilus:
    ssh://drizzt@drzdell

    D’autre part comme je l’ai écrit dans l’article « je n’ai pas réussi pour l’instant à utiliser l’option -m », et je n’ai pas insisté depuis.
    Donc essaye plutôt la commande sans l’argument « -m »:
    gvfs-mount ssh://drizzt@drzdell

    Je viens à l’instant de tester:
    gvfs-mount ssh://root@10.0.0.2 sur un serveur que j’ai sur mon LAN (oui je sais en root c’est mal, mais c’était juste pour l’essai 😉 )
    gvfs-mount ssh://xx.xx.xxx.xxx:58122 sur un serveur dédié OVH (où ssh est sur le port 58122 et dont j’ai remplacé par discrétion l’IP par des xx)
    Et résultat ça marche!
    Pour info je suis actuellement avec Ubuntu version 9.10 et ma version de gvfs est 1.4.1-0ubuntu1

    Pour ce qui est de ton problème de report de display et de la version, je n’en sais rien… il va te falloir approfondir cela sur les wiki et forums des différentes communautés Linux.

  5. hermogene says:

    As-tu lancé /usr/lib/gvfs/gvfs-fuse-daemon au préalable?

  6. Patrick says:

    Bonjour
    j’ai le cas d’une machine windows qui me demande un login / pass et je ne sais pas le placer dans mon script :
    gvfs-mount smb://192.168.30.180/D\$
    merci de ton aide, je ne trouve rien

  7. tof says:

    En faisant un « gvfs-mount –help », je viens de voir qu’il y l’option « -o » comme pour la commande « mount » traditionnelle.
    Aussi je pense que tu peux essayer:

    gvfs-mount smb://192.168.30.180/D\$ -o username=user,password=pass

    (en remplaçant user et pass par ton utilisateur et ton mot de passe)

  8. Pierre-Adrien says:

    Le fonctionnement de gvfs-mount a dû changer depuis 2011, l’option -o sert désormais à surveiller les événements. Du coup, je suis à la recherche de comment passer le nom d’utilisateur et le mot de passe lors du montage avec gvfs-mount. Sans succès pour le moment, le manuel ne m’a pas beaucoup aidé… Si quelqu’un sait comment il faut procéder, toute aide est la bienvenue :)

  9. tof says:

    D’après ces deux ressources il est possible de passer le username dans la commande de montage, par contre ça va demander une interaction pour le mot de passe (ce qui n’est pas top pour un script automatisé).
    Ex: gvfs-mount smb://username;workgroupname@hostname/sharename
    http://qandasys.info/proper-way-to-mount-samba-share/#comment-119550
    http://unix.stackexchange.com/a/44318

  10. Pierre-Adrien says:

    Oui, j’ai trouvé des choses comme ça… mais effectivement, il y a une interaction. J’avais trouvé des solutions en utilisant « expect » mais j’ai finalement décidé de repenser globalement la façon dont fonctionne mon script, du coup je n’ai plus besoin de monter le disque en fournissant les credentials.

    En tout cas, étrange qu’on ne puisse pas le scripter de façon simple, je trouve.
    Merci de ta réponse en tout cas, et merci pour cet article 😉

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>