gvfsd-metadata
Manage metadata for GVFS (virtual filesystem)
SYNOPSIS
gvfsd-metadata [OPTION…]
PARAMETERS
-?, --help
Show help options and exit
-V, --version
Print version information and exit
-r, --replace
Replace any running instance of the daemon
-s, --spawner=ID
Register daemon with spawner ID (e.g., :org.gtk.vfs.Spawner0)
--spawner::env=KEY=VAL
Pass environment variable to spawner
--wait
Wait for daemon initialization to complete
--display=DISPLAY
X11 display to use (if applicable)
--g-fatal-warnings
Make all Gnome warnings fatal
DESCRIPTION
The gvfsd-metadata is a background daemon within the GNOME Virtual File System (GVFS) that handles storage and retrieval of extended metadata for files and directories. This includes attributes like custom icons, emblems, comments, and other user-defined properties not covered by standard file attributes.
It operates via D-Bus, providing a service interface for applications such as Nautilus (GNOME Files) to associate metadata seamlessly across virtual filesystems like trash://, network shares, or archives. Metadata is persisted in an SQLite database, usually at ~/.local/share/gvfs-metadata/main.db, enabling quick access without modifying filesystem xattrs directly.
Typically spawned automatically by the GVFS session daemon (gvfsd), it ensures metadata survives reboots and is shared across GVFS backends. Users interact indirectly via tools like gio info, gio set, or xattr. Direct invocation is rare, mainly for debugging or replacement scenarios.
This daemon enhances desktop usability by allowing rich file tagging without filesystem pollution, integrating with thumbnailers and search indexes.
CAVEATS
Not intended for direct user invocation; managed by GVFS session. Database corruption possible if interrupted improperly. Limited to GVFS-enabled environments like GNOME.
METADATA DATABASE
Primary storage: ~/.local/share/gvfs-metadata/main.db.
Query via sqlite3 or gio info --attributes=metadata::*.
D-BUS INTERFACE
Exposes org.gtk.vfs.Metadata service on session bus.
Use dbus-send or gio for programmatic access.
HISTORY
Debuted in GVFS 2.24 with GNOME 2.24 (March 2008) for metadata persistence. Evolved in GNOME 3+ with improved D-Bus stability and SQLite backend; now integral to modern desktop environments like Ubuntu's GNOME.
SEE ALSO
gvfsd(1), gvfs(7), gio(7), dbus-daemon(1)


