Difference between revisions of "Gvfs"

From Blue-IT.org Wiki

(gvfsd-fuse daemon)
(gvfsd-fuse daemon)
Line 21: Line 21:
  
 
Unmount all (!) gvfs-mounts:
 
Unmount all (!) gvfs-mounts:
  # fusermount -u /run/user/${UID}/gvfs
+
  fusermount -u /run/user/${UID}/gvfs
  
 
Now it is necessary to rebind and restart gvfsd with the correct directory
 
Now it is necessary to rebind and restart gvfsd with the correct directory
 
* See: http://manpages.ubuntu.com/manpages/trusty/man1/gvfsd-fuse.1.html
 
* See: http://manpages.ubuntu.com/manpages/trusty/man1/gvfsd-fuse.1.html
  # /usr/lib/gvfs/gvfsd-fuse /run/user/${UID}/gvfs
+
  /usr/lib/gvfs/gvfsd-fuse /run/user/${UID}/gvfs
  
  
 
Restart nautilus
 
Restart nautilus
  # nautilus -q
+
  nautilus -q
  
 
==== Script for autocheck gfvs status ====
 
==== Script for autocheck gfvs status ====

Revision as of 07:31, 26 July 2014

Ubuntu 13.10 +

gvfsd-fuse daemon

Since Ubuntu 13.10 the way gvsd is working changed. Not only that the name for the binaries changed, volumes are mounted in

/run/user/${UID}/gvfs

instead of

${HOME}/.gvfs

There are many cases, where gvfs could get stuck. Unfortunetaly you are left alone dealing with this case and deal it. The system is not doing this for you. The 'gvfsd-fuse binary and daemon (formerly known as gvfsd-fuse-daemon) is responsible for any actions:

Check status

# mount | fgrep gvfs
gvfsd-fuse on /run/${USERNAME}/${UID}/gvfs type fuse.gvfsd-fuse

To be able to use the following tools install:

sudo apt-get install usermode

Unmount all (!) gvfs-mounts:

fusermount -u /run/user/${UID}/gvfs

Now it is necessary to rebind and restart gvfsd with the correct directory

/usr/lib/gvfs/gvfsd-fuse /run/user/${UID}/gvfs


Restart nautilus

nautilus -q

Script for autocheck gfvs status

while (true)
do

# Ubuntu 13.10 onwards only!
echo "Check, if gvfs is healthy ..."
if mount | fgrep gvfs | grep /run/user/${UID}/gvfs | grep fuse.gvfsd-fuse
then
       echo "GVFS is OK!"
	else
		echo "GVFS ERROR: needs to be remounted"
		fusermount -u /var/run/user/1000/gvfs
		if /usr/lib/gvfs/gvfsd-fuse /run/user/${UID}/gvfs
		then
			echo "GVFSD-FUSE daemon successfully restarted ..."
		fi
	fi
 

sleep 20
done