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: gvfsd
name__, 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:
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? gvfsd
name__?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
.
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
.
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
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)
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.
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
.
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.
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
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 mydomain
qui possède un dossier partagé en tant que shared
et que j'ai un répertoire dans mon répertoire personnel nommé mnt
name__, je peux monter le partage surmnt
et 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é shared
sur 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
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