GVFS user services not starting since 25.05

Hi all,

Since updating past NixOS 25.05 (running nixos-unstable, previous config was also unstable but pre-25.05 release) I’ve been having problems with GNOME and Nautilus:

  • New USB drives and devices aren’t being automatically mounted
  • I can’t see unmounted but permamently attached drives in Nautilus
  • Clicking the ‘Network’ tab in Nautilus causes the program to crash
  • The ‘Wastebasket’ tab fails with a popup saying

Oops! Something went wrong.
“trash” locations are not supported.

This was all working correctly pre-upgrade. I’ve traced the issues to the majority of the GVFS services failing to start with the graphical session. After boot and login, the GVFS user services (as checked through systemctl --user status) are as follows:

Service name Status
gvfs-afc-volume-monitor.service inactive (dead)
gvfs-daemon.service active (running)
gvfs-goa-volume-monitor.service inactive (dead)
gvfs-gphoto2-volume-monitor.service inactive (dead)
gvfs-metadata.service inactive (dead)
gvfs-mtp-volume-monitor.service inactive (dead)
gvfs-udisks2-volume-monitor.service inactive (dead)

By contrast, on a computer still running with my last version of nixpkgs (pre 25.05), all these services are started after login. If I manually enable all the inactive services above and log out and back in, GNOME and Nautilus function properly and the problems above stop occurring until next restart, when the services fail to be started again.

This seems to be happening at the dbus level — on my computer running the old config, journalctl --boot | grep gvfs returns the following:

May 29 09:59:44 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.Daemon' unit='gvfs-daemon.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 09:59:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.UDisks2VolumeMonitor' unit='gvfs-udisks2-volume-monitor.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 09:59:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.GPhoto2VolumeMonitor' unit='gvfs-gphoto2-volume-monitor.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 09:59:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.MTPVolumeMonitor' unit='gvfs-mtp-volume-monitor.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 09:59:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.GoaVolumeMonitor' unit='gvfs-goa-volume-monitor.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 09:59:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.AfcVolumeMonitor' unit='gvfs-afc-volume-monitor.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 10:00:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.Metadata' unit='gvfs-metadata.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")

On the computer running latest unstable, there is no mention of these services starting or failing to start, with the exception of gvfs-daemon:

May 29 09:58:14 timber-hearth dbus-daemon[2496]: [session uid=1000 pid=2496] Activating via systemd: service name='org.gtk.vfs.Daemon' unit='gvfs-daemon.service' requested by ':1.42' (uid=1000 pid=2889 comm="/nix/store/qiibh0szsx2wmdcain37znnnh1bylnl2-gnome-")

At this point I’ve run out of ideas since I don’t know enough about how these things are started at the dbus level. There was an update to the gvfs package as part of the GNOME: 47 → 48 PR, but I’ve checked the dbus and systemd service definitions supplied by both gvfs-1.56.1 and gvfs-1.57.2 in the nix store and (internal store paths aside) they’re identical.

My GNOME config is pretty normal, I’ve also tried manually enabling the gvfs module and made sure the GVFS package it’s using has GNOME support:

services = {
      xserver = {
        enable = true;
        displayManager.gdm = {
          enable = true;
          wayland = true;
          autoSuspend = true;
        };
        desktopManager.gnome.enable = true;
      };

      gvfs = {
        enable = true;
        package = pkgs.gnome.gvfs;
      };
    };

Has anyone else experienced this before, and/or does anyone have any next steps to figure out what’s gone wrong?

1 Like

Just rebuilt a different computer using the same shared config but with nixpkgs on nixos-25.05 instead of nixos-unstable and I’m getting the same problem there, so this doesn’t appear to be stemming from unstable at all.

Rebuilding with an overlay that brute forces the gvfs package back to v1.56.1 seems to have no effect either, so this might be more of a NixOS module problem?

I’ve realised that manually re-enabling all the GVFS user services before logging out/in again isn’t actually doing anything — the act of logging out and back in immediately after restart and login is enough to get systemd to pick up the rest of the services and start them. I can’t even see how it would be a module problem in this case, since nothing is changing in the system configuration between login sessions.

I have full dbus-monitor logs of first and second login if they’re of use to anyone. They diverge very quickly though and I haven’t been able to get much useful information out of them so far.

Hi,
i have the same Problem after upgrading from 25.05 to 25.11 and Gnome 48
Logout and Login after restart als works for me.

Any solution

What happen when you run echo $GIO_EXTRA_MODULES?

It should contain three paths at least. In my case it only shows the dconf path, causing nautilus to be missing functionality. If I manually populate the variable before running nautilus from the terminal, nautilus fully works.

I am using niri. I am trying to figure out if home-manager is somehow overriding that variable for me.

We have an issue now nautilus: can't open trash:/// · Issue #412131 · NixOS/nixpkgs · GitHub.

Maybe GNOME Shell changed how programs are started or something? Will need to look at activation environment.

Thanks for linking, I’ll keep posting any findings there.