gvfsd-fuse
Mount remote filesystems for GNOME
SYNOPSIS
gvfsd-fuse MOUNTPOINT [FUSE options]
PARAMETERS
-h, --help
Print help information and exit
-V, --version
Print version information and exit
-f, --foreground
Run in foreground; do not daemonize (logs to stderr)
-r, --replace
Replace any existing gvfsd-fuse instance
FUSE options
All standard FUSE/fusermount options accepted (e.g., -o allow_other, -o nonempty)
DESCRIPTION
gvfsd-fuse is the userspace filesystem daemon providing FUSE (Filesystem in Userspace) support for GVFS, the GNOME Virtual File System. GVFS enables uniform access to diverse storage backends including remote protocols like FTP, SFTP, SMB/CIFS, WebDAV, NFS, as well as special locations such as Trash, Recent Files, and bookmarks, all via intuitive URIs (e.g., smb://server/share).
Through FUSE, gvfsd-fuse exposes these virtual filesystems as a regular directory hierarchy, typically mounted at $XDG_RUNTIME_DIR/gvfs (modern) or legacy $HOME/.gvfs. Subdirectories within this mountpoint correspond to individual GVFS volumes, allowing seamless integration with traditional Unix tools and apps lacking native GVFS/gio support.
The daemon proxies I/O requests via D-Bus to specialized gvfsd backends (e.g., gvfsd-smb, gvfsd-gphoto2). It is automatically launched by the GVFS manager during desktop sessions (e.g., GNOME) or on-demand via gio mount. Manual starts handle the FUSE mountpoint and kernel communication.
Key benefits include permission-respecting access (user-owned mounts) and kernel-level caching. However, it relies on the FUSE kernel module and can introduce latency for remote operations.
CAVEATS
Requires FUSE kernel module (modprobe fuse).
Manual invocation discouraged; prefer gio mount.
Remote mounts risk hangs/timeouts; use fusermount -u MOUNTPOINT to unmount.
~/.gvfs legacy path is insecure (world-readable).
DEFAULT MOUNT POINT
$XDG_RUNTIME_DIR/gvfs (e.g., /run/user/1000/gvfs).
Legacy: $HOME/.gvfs. Auto-created on first use.
MANAGEMENT
Controlled by master gvfsd via D-Bus.
Check status: gvfs-mounts; list: ls $XDG_RUNTIME_DIR/gvfs.
HISTORY
Introduced in GVFS 1.2 (2009) as part of GNOME 2.28 evolution. Matured with FUSE 2.x/3.x support; runtime dir migration in GVFS 1.20+ (2013).
SEE ALSO
gvfsd(1), gio(1), fusermount(1), mount.fuse(8)


