web-dev-qa-db-fra.com

Pourquoi mes montages gvfs n'apparaissent-ils pas sous ~ / .gvfs ou / run / user / <login> / gvfs?

D'après ce que j'ai lu, lors du montage d'un partage réseau via Nautilus ou gvfs-mount, le point de montage doit être au format ~/.gvfs. Cela ne semble pas être le cas pour moi: j'ai essayé de monter à la fois un partage FTP et SMB via nautilus et gvfs-mount sous Ubuntu Maverick et Natty et, dans aucun cas, aucun point de montage sous ~/.gvfs . Je peux accéder aux partages trouvés dans Nautilus, mais je souhaite pouvoir y accéder via la ligne de commande. C'est pourquoi j'ai besoin d'un point de montage dans le système de fichiers.

Edit: Le débogage suivant la réponse de James Henstridge et le commentaire d’enzotib ont révélé que mon ordinateur portable gvfs-Fuse-daemon est en cours d’exécution et que les montages gvfs apparaissent dans ~/.gvfs, alors que sur les 2 postes de travail où ~/.gvfs est vide, gvfs-Fuse-daemon ne fonctionnait pas. D'autres processus gvfs sont en cours d'exécution sur les 3 machines: gvfsdname__, gvfs-afc-volume-monitor, ...

mount | fgrep gvfs donne sur l'ordinateur portable

gvfs-Fuse-daemon on /home/xxx/.gvfs type Fuse.gvfs-Fuse-daemon (rw,nosuid,nodev,user=xxx)

Cela soulève des questions:

  • Comment les partages sont-ils montés sans gvfs-Fuse-daemon en cours d'exécution? N'y a-t-il pas de point de montage créé dans ce cas et chaque accès au partage est-il un appel de bibliothèque gvfs? Quel démon est responsable? gvfsdname__?
  • Quel est le rôle de gvfs-Fuse-daemon? Crée-t-il uniquement un point de montage Fuse dans ~/.gvfs?

Mise à jour: À partir de 12.10, les montages sont sous /run/user/<login>/gvfs.

35
kynan

Le répertoire ~/.gvfs doit être un montage Fuse géré par le processus gvfs-Fuse-daemon. Si le répertoire semble être vide, cela indiquerait que gvfs-Fuse-daemon n'a pas démarré correctement.

Vous pouvez essayer de le démarrer manuellement avec la commande suivante:

/usr/lib/gvfs/gvfs-Fuse-daemon ~/.gvfs

Si cela échoue, vous pouvez essayer de vérifier si quelque chose d'autre est monté là-bas ou même supprimer et recréer le répertoire ~/.gvfs en premier. Si les choses ne fonctionnent toujours pas, pourriez-vous mettre à jour votre question et fournir des messages d'erreur imprimés par gvfs-Fuse-daemon?

** Le 14.04, le démon s'appelle gvfsd-Fuse et se trouve dans /usr/lib/gvfs/gvfsd-Fuse.

12
James Henstridge

Résolu le problème (en quelque sorte).

Sur Ubuntu 12.10, le point de montage apparaît dans /run/user/(your username)/gvfs/sftp\:Host\=\192.168.xxx.xxx.

J'espère que cela pourra aider

20
Ivan Maglica

Dans Ubuntu 12.10, les chemins ont été modifiés:

$ mount |grep gvfs
gvfsd-Fuse on /run/user/pcm/gvfs type Fuse.gvfsd-Fuse (rw,nosuid,nodev,user=pcm)
3
cmcginty

Sur Debian 6.0 wheezy, avec lxde et nautilus. J'ai trouvé le répertoire ~/.gvfs vide aussi. J'ai essayé de courir

/usr/lib/gvfs/gvfs-Fuse-daemon ~/.gvfs

Mais il m'a dit:/dev/Fuse: Permission Denied.

$ ll /dev/Fuse
crw-rw---T 1 root Fuse 10, 229 Dec 21 11:59 /dev/Fuse

Je pensais que c'était peut-être parce que je ne faisais pas partie du groupe Fuse, puis j'ai ajouté mon compte d'utilisateur à ce groupe. Après un redémarrage, le montage gvfs s'affiche correctement dans ~/.gvfs.

3
z7z8th

Dans les versions plus récentes d'Ubuntu, gvfs est monté par défaut dans /run/user/$USER/gvfs/.

Vous pouvez vérifier vous-même où se trouve le point de montage par défaut en recherchant la ligne gvfsd-Fuse de votre utilisateur dans /etc/mtab.

3
David L

J'ai un problème similaire avec mon système 12.04 Precise.

Les lecteurs apparaissant montés dans Nautilus n'apparaissent pas dans ~/.gvfs, en particulier après un cycle de suspension/reprise. gvfs-Fuse-daemon est en cours d'exécution, mais sa suppression et son redémarrage ne résolvent pas le problème.

J'ai constaté que le fait de redémarrer Nautilus après nautilus -q provoquait une nouvelle coopération entre gvfs-Fuse-daemon et Nautilus - les points de montage réapparaissaient.

3
Chris

Je ai posé une question connexe pour mon système Debian, et le réponse était de:

apt-get install gvfs-Fuse
adduser <username> Fuse

Puis redémarrez. Après un montage GVFS (via Nautilus), le répertoire de partage se trouvera à l’un des deux emplacements, selon la version de Debian ou Ubuntu dont vous disposez:

/run/user/<username>/gvfs
~/.gvfs
2
Mike T

Lorsque je veux accéder directement aux fichiers partagés à partir d'une machine Windows (sans naviguer dans Nautilus), je monte le partage sur un dossier de mon répertoire personnel.

Par exemple. Dans le cas où il existe une machine Windows avec l'adresse IP 192.168.16.2 sur le domaine mydomainqui possède un dossier partagé en tant que sharedet que j'ai un répertoire dans mon répertoire personnel nommé mntname__, je peux monter le partage surmntet y accéder comme s'il était dans mon répertoire de base avec:

Sudo mount -t cifs "//192.168.16.2/shared" /home/stacey/mnt -o credentials=credentials,uid=stacey,gid=stacey

où les informations d'identification contiennent:

username=stacey
password=mypassword
domain=mydomain

Maintenant, je peux utiliser ls /home/stacey/mnt pour répertorier les fichiers et les répertoires du répertoire partagé sharedsur 192.168.16.2 et accéder à n’importe quel fichier de ce point de montage, comme je le ferais pour un fichier situé sur mon disque dur local.

Vous pouvez obtenir plus d’informations sur le montage de SMB partages avec:

man mount.cifs
0
Stacey Richards

Pour l'instant...

#!/bin/bash
# Add to Cron
# */1 * * * * /root/fixGvfs
w | grep -v root | tail -n +3 | awk '{print $1}' > /tmp/fixGvfsUsers
while read usuario
do
  id=$(id -u $usuario)
  if [ ! -f "/tmp/fixGvfs${id}" ]; then
    umount /run/user/${id}/gvfs
    if [ $? -eq 0 ]; then
      su - $usuario -c "/usr/bin/pkill gvfs*"
      touch "/tmp/fixGvfs${id}"
    fi
  fi
done < /tmp/fixGvfsUsers
0
Daniel Del Pino