it-swarm.com.de

Warum werden meine gvfs-Mounts nicht unter ~ / .gvfs oder / run / user / <login> / gvfs angezeigt?

Wenn Sie eine Netzwerkfreigabe über Nautilus oder gvfs-mount einbinden, sollte der Einhängepunkt in ~/.gvfs liegen. Dies scheint bei mir nicht der Fall zu sein: Ich habe versucht, sowohl einen FTP- als auch einen SMB - Share über Nautilus und gvfs-mount unter Ubuntu Maverick und Natty zu mounten, und in keinem Fall habe ich einen Mount-Punkt gesehen unter ~/.gvfs. Ich kann auf die Freigaben zugreifen, die ich gerade in Nautilus finde, möchte aber Zugriff über die Befehlszeile haben, weshalb ich einen Mount-Punkt im Dateisystem benötige.

Edit: Das Debuggen nach der Antwort von James Henstridge und dem Kommentar von enzotib ergab, dass auf meinem Laptop gvfs-Fuse-daemon ausgeführt wird und folglich gvfs-Mounts in ~/.gvfs angezeigt werden, während auf den 2 Workstations, auf denen ~/.gvfs blieb leer gvfs-Fuse-daemon lief nicht. Auf allen 3 Rechnern laufen noch andere gvfs-Prozesse: gvfsd, gvfs-afc-volume-monitor, ...

Auf dem Laptop gibt mount | fgrep gvfs nach

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

Das wirft die Fragen auf:

  • Wie werden Freigaben bereitgestellt, ohne dass gvfs-Fuse-daemon ausgeführt wird? Gibt es in diesem Fall keinen Einhängepunkt und ist jeder Zugriff auf die Freigabe ein Aufruf der gvfs-Bibliothek? Welcher Daemon ist verantwortlich? gvfsd?
  • Welche Rolle spielt gvfs-Fuse-daemon? Erstellt es nur einen Sicherungsmontagepunkt in ~/.gvfs?

pdate: Ab 12.10 befinden sich die Reittiere unter /run/user/<login>/gvfs.

35
kynan

Das Verzeichnis ~/.gvfs sollte ein Sicherungs-Mount sein, der vom Prozess gvfs-Fuse-daemon verarbeitet wird. Wenn das Verzeichnis leer zu sein scheint, weist dies darauf hin, dass gvfs-Fuse-daemon nicht korrekt gestartet wurde.

Sie können versuchen, es manuell mit dem folgenden Befehl zu starten:

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

Wenn dies fehlschlägt, können Sie versuchen, zu überprüfen, ob dort noch etwas bereitgestellt ist, oder zuerst das Verzeichnis ~/.gvfs löschen und neu erstellen. Wenn die Probleme weiterhin bestehen, können Sie Ihre Frage aktualisieren und Fehlermeldungen bereitstellen, die von gvfs-Fuse-daemon gedruckt wurden?

** Am 14.04 heißt der Daemon gvfsd-Fuse und befindet sich in /usr/lib/gvfs/gvfsd-Fuse.

12

Löste das Problem (Art von).

Unter Ubuntu 12.10 erscheint der Mountpoint in /run/user/(your username)/gvfs/sftp\:Host\=\192.168.xxx.xxx.

Ich hoffe, das hilft

20
Ivan Maglica

In Ubuntu 12.10 wurden die Pfade geändert:

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

Unter Debian 6.0 keuchend, mit lxde und nautilus. Ich fand das ~/.gvfs-Verzeichnis auch leer. Ich habe versucht zu rennen

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

Aber es hat mir gesagt:/dev/Fuse: Erlaubnis verweigert.

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

Ich dachte, das liegt vielleicht daran, dass ich nicht in der Fuse-Gruppe bin. Dann habe ich mein Benutzerkonto zu dieser Gruppe hinzugefügt. Nach einem Neustart wird der gvfs-Mount in ~/.gvfs korrekt angezeigt.

3
z7z8th

In neueren Versionen von Ubuntu wird gvfs standardmäßig in /run/user/$USER/gvfs/ eingebunden.

Sie können überprüfen, wo sich der Standardeinhängepunkt befindet, indem Sie in /etc/mtab nach der Zeile gvfsd-Fuse Ihres Benutzers suchen.

3
David L

Ich habe ein ähnliches Problem mit meinem 12.04 Precise-System.

Laufwerke, die in Nautilus aktiviert zu sein scheinen, werden in ~/.gvfs nicht angezeigt, insbesondere nach einem Unterbrechungs-/Wiederaufnahmezyklus. gvfs-Fuse-daemon wird ausgeführt, aber das Beenden und Neustarten behebt das Problem nicht.

Ich habe festgestellt, dass das Neustarten von Nautilus nach nautilus -q zu einer erneuten Zusammenarbeit von gvfs-Fuse-daemon und Nautilus führt - die Einhängepunkte werden wieder angezeigt.

3
Chris

Ich stellte eine verwandte Frage für mein Debian-System, und die Antwort lautete:

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

Starten Sie dann neu. Nach einem GVFS-Mount (über Nautilus) befindet sich das Freigabe-Verzeichnis an einer von zwei Stellen, je nachdem, welche Debian- oder Ubuntu-Version Sie haben:

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

Wenn ich direkt auf Dateien zugreifen möchte, die von einem Windows-Computer freigegeben wurden (ohne Nautilus zu durchsuchen), mounte ich die Freigabe in einem Ordner in meinem Ausgangsverzeichnis.

Zum Beispiel. Gibt es einen Windows-Computer mit der IP-Adresse 192.168.16.2 in der Domäne mydomain, für den der Ordner shared freigegeben ist, und in meinem Ausgangsverzeichnis befindet sich das Verzeichnis mnt Ich kann die Freigabe auf mnt mounten und darauf zugreifen, als ob sie sich in meinem Home-Verzeichnis befindet:

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

wo Anmeldeinformationen enthalten:

username=stacey
password=mypassword
domain=mydomain

Jetzt kann ich mit ls /home/stacey/mnt die Dateien und Verzeichnisse im freigegebenen Verzeichnis shared unter 192.168.16.2 auflisten und auf alle Dateien innerhalb dieses Einhängepunkts wie auf eine Datei auf meiner lokalen Festplatte zugreifen.

Weitere Informationen zum Mounten von SMB Freigaben erhalten Sie mit:

man mount.cifs
0
Stacey Richards

Zur Zeit...

#!/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