[Thunar] GVFS/Removable Media Issues on Minimal Debian + Sway Installation

Linux Kernel, Network, and Services configuration.
Post Reply
Message
Author
IkeYeek
Posts: 4
Joined: 2024-11-05 18:12

[Thunar] GVFS/Removable Media Issues on Minimal Debian + Sway Installation

#1 Post by IkeYeek »

Hello, I'm experiencing issues with Thunar's trash and removable media functionality on a minimal Debian setup. Here are the details of my installation:

System Setup:
- Base Debian installation (no DE)
- Sway (Wayland) as window manager
- Thunar as file manager

Issue:
When going to Preferences -> Advanced in Thunar, I receive an error message:
thunar_err.png
Current Configuration:
I have installed gvfs and its dependencies as described in the documentation here: (note that I tried multiple combinations and none did work)

Code: Select all

sudo apt list --installed | grep gvfs
gvfs-backends/stable,now 1.50.3-1 amd64 [installed]
gvfs-common/stable,now 1.50.3-1 all [installed,automatic]
gvfs-daemons/stable,now 1.50.3-1 amd64 [installed]
gvfs-fuse/stable,now 1.50.3-1 amd64 [installed]
gvfs-libs/stable,now 1.50.3-1 amd64 [installed,automatic]
gvfs/stable,now 1.50.3-1 amd64 [installed]
XDG Desktop Portal packages installed: (same here, tried multiple combinations)

Code: Select all

sudo apt list --installed | grep xdg-desktop
xdg-desktop-portal-dev/stable,now 1.16.0-2 all [installed]
xdg-desktop-portal-gtk/stable,now 1.14.1-1 amd64 [installed]
xdg-desktop-portal-kde/stable,now 5.27.5-2 amd64 [installed]
xdg-desktop-portal-wlr/stable,now 0.7.0-1 amd64 [installed]
xdg-desktop-portal/stable,now 1.16.0-2 amd64 [installed]
What I've tried:
1. Various combinations of gvfs package installations
2. Testing with KDE Plasma DE (same issues)
3. Different Sway launch methods:
- Currently using ly with "sway --unsupported-gpu"
- Tried:

Code: Select all

exec /usr/bin/dbus-launch --exit-with-session sway --unsupported-gpu
- Tried with custom desktop file:

Code: Select all

[Desktop Entry]
Name=SwayFX
Comment=An eye-candy fork of Sway
Exec=exec dbus-run-session sway --unsupported-gpu
Type=Application
DesktopNames=SwayFX
Note: I'm actually using SwayFX rather than vanilla Sway, but I've tested with both and encountered the same issues.

I've extensively searched for solutions online (literally every links related to gvfs/thunar issues are clicked now on both google and ddg.....) but haven't found anything that resolves the problem. Any assistance would be greatly appreciated. Please let me know if you need any additional information.

BTW, I forgot to mention it but I use Debian 12 stable.

CwF
Global Moderator
Global Moderator
Posts: 3073
Joined: 2018-06-20 15:16
Location: Colorado
Has thanked: 63 times
Been thanked: 254 times

Re: [Thunar] GVFS/Removable Media Issues on Minimal Debian + Sway Installation

#2 Post by CwF »

IkeYeek wrote: 2024-11-05 18:36 Current Configuration:
I have installed gvfs and its dependencies
Did you install fuse3?
Mottainai

IkeYeek
Posts: 4
Joined: 2024-11-05 18:12

Re: [Thunar] GVFS/Removable Media Issues on Minimal Debian + Sway Installation

#3 Post by IkeYeek »

CwF wrote: 2024-11-05 20:46
IkeYeek wrote: 2024-11-05 18:36 Current Configuration:
I have installed gvfs and its dependencies
Did you install fuse3?
Yes I did! (and it is a gvfs-fuse dep anyway but I double-checked just to be sure)

Aki
Global Moderator
Global Moderator
Posts: 3950
Joined: 2014-07-20 18:12
Location: Europe
Has thanked: 109 times
Been thanked: 518 times

Re: [Thunar] GVFS/Removable Media Issues on Minimal Debian + Sway Installation

#4 Post by Aki »

Hello,

According to [1], this is the source code showing the error message:

Code: Select all

  /* check the most important gvfs-backends, and inform if they are missing */
  if (!thunar_g_vfs_is_uri_scheme_supported ("trash")    ||
      !thunar_g_vfs_is_uri_scheme_supported ("computer") || /* support for removable media */
      !thunar_g_vfs_is_uri_scheme_supported ("sftp") )
    {
      [..]
      gtk_label_set_markup (GTK_LABEL (label), _("It looks like <a href=\"https://wiki.gnome.org/Projects/gvfs\">gvfs</a> is not available.\n"
                                                 "Important features including trash support,\n"
                                                 "removable media and remote location browsing\n"
                                                 "will not work. <a href=\"https://docs.xfce.org/xfce/thunar/unix-filesystem#gnome_virtual_file_system\">[Read more]</a>"));
      [..]
The error is shown if one or more of the following "uri schemes" are unsupported: "trash", "computer", "sftp"

According to [2] and [3], these are the packages and binaries providing the services that offer the aforementioned "uri schemes":

Code: Select all

$ apt-file search gvfsd-trash gvfsd-computer gvfsd-sftp
gvfs-daemons: /usr/lib/gvfs/gvfsd-trash   
gvfs-daemons: /usr/libexec/gvfsd-trash

$ apt-file search gvfsd-computer 
gvfs-daemons: /usr/lib/gvfs/gvfsd-computer
gvfs-daemons: /usr/libexec/gvfsd-computer

$ apt-file search gvfsd-sftp
gvfs-backends: /usr/lib/gvfs/gvfsd-sftp   
gvfs-backends: /usr/libexec/gvfsd-sftp
So, required packages should be gvfs-daemons and gvfs-backends. You may try reinstalling them, since it seems they are already installed from your previous post:

Code: Select all

sudo apt reinstall gvfs-daemons gvfs-backends
This is the output of the gvfs running daemons in a Xfce Debian Bookworm installation:

Code: Select all

$ ps ax | grep gvfs
   1143 ?        Ssl    0:00 /usr/libexec/gvfsd
   1259 ?        Ssl    0:00 /usr/libexec/gvfs-udisks2-volume-monitor
   1265 ?        Ssl    0:00 /usr/libexec/gvfs-afc-volume-monitor
   1271 ?        Ssl    0:00 /usr/libexec/gvfs-mtp-volume-monitor
   1275 ?        Ssl    0:00 /usr/libexec/gvfs-gphoto2-volume-monitor
   1281 ?        Ssl    0:00 /usr/libexec/gvfs-goa-volume-monitor
   1322 ?        Sl     0:00 /usr/libexec/gvfsd-trash --spawner :1.6 /org/gtk/gvfs/exec_spaw/0
   1330 ?        Ssl    0:00 /usr/libexec/gvfsd-metadata
   1706 pts/0    S+     0:00 grep gvfs
What’s the output in your installation ?

Hope this helps.

--
[1] https://sources.debian.org/src/thunar/4 ... g.c/#L1317
[2] https://wiki.gnome.org/Projects/gvfs/schemes
[3] https://en.wikipedia.org/wiki/GVfs
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system
⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org
⠈⠳⣄⠀

IkeYeek
Posts: 4
Joined: 2024-11-05 18:12

Re: [Thunar] GVFS/Removable Media Issues on Minimal Debian + Sway Installation

#5 Post by IkeYeek »

Aki wrote: 2024-11-06 22:20 Hello,

According to [1], this is the source code showing the error message:

Code: Select all

  /* check the most important gvfs-backends, and inform if they are missing */
  if (!thunar_g_vfs_is_uri_scheme_supported ("trash")    ||
      !thunar_g_vfs_is_uri_scheme_supported ("computer") || /* support for removable media */
      !thunar_g_vfs_is_uri_scheme_supported ("sftp") )
    {
      [..]
      gtk_label_set_markup (GTK_LABEL (label), _("It looks like <a href=\"https://wiki.gnome.org/Projects/gvfs\">gvfs</a> is not available.\n"
                                                 "Important features including trash support,\n"
                                                 "removable media and remote location browsing\n"
                                                 "will not work. <a href=\"https://docs.xfce.org/xfce/thunar/unix-filesystem#gnome_virtual_file_system\">[Read more]</a>"));
      [..]
The error is shown if one or more of the following "uri schemes" are unsupported: "trash", "computer", "sftp"

According to [2] and [3], these are the packages and binaries providing the services that offer the aforementioned "uri schemes":

Code: Select all

$ apt-file search gvfsd-trash gvfsd-computer gvfsd-sftp
gvfs-daemons: /usr/lib/gvfs/gvfsd-trash   
gvfs-daemons: /usr/libexec/gvfsd-trash

$ apt-file search gvfsd-computer 
gvfs-daemons: /usr/lib/gvfs/gvfsd-computer
gvfs-daemons: /usr/libexec/gvfsd-computer

$ apt-file search gvfsd-sftp
gvfs-backends: /usr/lib/gvfs/gvfsd-sftp   
gvfs-backends: /usr/libexec/gvfsd-sftp
So, required packages should be gvfs-daemons and gvfs-backends. You may try reinstalling them, since it seems they are already installed from your previous post:

Code: Select all

sudo apt reinstall gvfs-daemons gvfs-backends
This is the output of the gvfs running daemons in a Xfce Debian Bookworm installation:

Code: Select all

$ ps ax | grep gvfs
   1143 ?        Ssl    0:00 /usr/libexec/gvfsd
   1259 ?        Ssl    0:00 /usr/libexec/gvfs-udisks2-volume-monitor
   1265 ?        Ssl    0:00 /usr/libexec/gvfs-afc-volume-monitor
   1271 ?        Ssl    0:00 /usr/libexec/gvfs-mtp-volume-monitor
   1275 ?        Ssl    0:00 /usr/libexec/gvfs-gphoto2-volume-monitor
   1281 ?        Ssl    0:00 /usr/libexec/gvfs-goa-volume-monitor
   1322 ?        Sl     0:00 /usr/libexec/gvfsd-trash --spawner :1.6 /org/gtk/gvfs/exec_spaw/0
   1330 ?        Ssl    0:00 /usr/libexec/gvfsd-metadata
   1706 pts/0    S+     0:00 grep gvfs
What’s the output in your installation ?

Hope this helps.

--
[1] https://sources.debian.org/src/thunar/4 ... g.c/#L1317
[2] https://wiki.gnome.org/Projects/gvfs/schemes
[3] https://en.wikipedia.org/wiki/GVfs
Thanks for your help (and for the truely appreciated context!), after running the reinstall and grepping gvfs from `ps -ax`, I only get the so-said grep in the result, nothing else seems running.
Now that you mention it, I remember it was part of the problem. By default, no service is running as so:

Code: Select all

› systemctl --user status gvfs-daemon          
○ gvfs-daemon.service - Virtual filesystem service
     Loaded: loaded (/usr/lib/systemd/user/gvfs-daemon.service; static)
     Active: inactive (dead)
So, running `systemctl --user start gvfs-daemon` changes the output of the grep to

Code: Select all

› ps ax | grep gvfs                  
  17523 ?        Ssl    0:00 /usr/libexec/gvfsd
  17529 ?        Sl     0:00 /usr/libexec/gvfsd-fuse /run/user/1000/gvfs -f
(I removed the grep from here).
Now, running `systemctl --user status gvfs-daemon` actually outputs some more informations:

Code: Select all

gvfs-daemon.service - Virtual filesystem service
     Loaded: loaded (/usr/lib/systemd/user/gvfs-daemon.service; static)
     Active: active (running) since Fri 2024-11-08 10:59:29 CET; 3min 30s ago
   Main PID: 17523 (gvfsd)
      Tasks: 11 (limit: 16311)
     Memory: 8.4M
        CPU: 53ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/gvfs-daemon.service
             ├─17523 /usr/libexec/gvfsd
             └─17529 /usr/libexec/gvfsd-fuse /run/user/1000/gvfs -f

Nov 08 10:59:29 luk-hp-debian systemd[2105]: Starting gvfs-daemon.service - Virtual filesystem service...
Nov 08 10:59:29 luk-hp-debian systemd[2105]: Started gvfs-daemon.service - Virtual filesystem service.
Nov 08 10:59:29 luk-hp-debian gvfsd-fuse[17529]: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
Nov 08 10:59:29 luk-hp-debian gvfsd-fuse[17529]: g_volume_monitor_get_mounts: assertion 'G_IS_VOLUME_MONITOR (volume_monitor)' failed
Nov 08 10:59:29 luk-hp-debian gvfsd-fuse[17529]: invalid (NULL) pointer instance
Nov 08 10:59:29 luk-hp-debian gvfsd-fuse[17529]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
Nov 08 10:59:29 luk-hp-debian gvfsd-fuse[17529]: invalid (NULL) pointer instance
Nov 08 10:59:29 luk-hp-debian gvfsd-fuse[17529]: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
which might be the most useful information I gave in this thread (and I forgot it in the first message.....) is it anything more helpful ?

I'm pretty sure it's dbus-related though

Aki
Global Moderator
Global Moderator
Posts: 3950
Joined: 2014-07-20 18:12
Location: Europe
Has thanked: 109 times
Been thanked: 518 times

Re: [Thunar] GVFS/Removable Media Issues on Minimal Debian + Sway Installation

#6 Post by Aki »

Hello,
IkeYeek wrote: 2024-11-08 10:04 By default, no service is running as so:

Code: Select all

› systemctl --user status gvfs-daemon          
○ gvfs-daemon.service - Virtual filesystem service
     Loaded: loaded (/usr/lib/systemd/user/gvfs-daemon.service; static)
     Active: inactive (dead)
So, running `systemctl --user start gvfs-daemon` changes the output of the grep to

Code: Select all

› ps ax | grep gvfs                  
  17523 ?        Ssl    0:00 /usr/libexec/gvfsd
  17529 ?        Sl     0:00 /usr/libexec/gvfsd-fuse /run/user/1000/gvfs -f
(I removed the grep from here).
Now, running `systemctl --user status gvfs-daemon` actually outputs some more informations:

Code: Select all

gvfs-daemon.service - Virtual filesystem service
     Loaded: loaded (/usr/lib/systemd/user/gvfs-daemon.service; static)
     Active: active (running) since Fri 2024-11-08 10:59:29 CET; 3min 30s ago
   Main PID: 17523 (gvfsd)
      Tasks: 11 (limit: 16311)
     Memory: 8.4M
        CPU: 53ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/gvfs-daemon.service
             ├─17523 /usr/libexec/gvfsd
             └─17529 /usr/libexec/gvfsd-fuse /run/user/1000/gvfs -f

Nov 08 10:59:29 luk-hp-debian systemd[2105]: Starting gvfs-daemon.service - Virtual filesystem service...
[..]

I'm pretty sure it's dbus-related though
According to the gvfsd manual page [1]:
DESCRIPTION
gvfsd is the main daemon for the gvfs virtual filesystem. It provides the org.gtk.vfs.Daemon name on the session bus. gvfsd is autostarted by GIO clients if it is not running.

The primary task of gvfsd is to act as a mount tracker/manager. It spawns new backends when requested and keeps track of their lifecycle, maintaining a list of active mounts and creates direct connections to them.

Since gvfs backends are running as children of the gvfsd process, it is possible to start gvfsd in a terminal and set environment variables to get debug output from individual backends.

gvfsd also starts the gvfsd-fuse(1), and provides it the mount point where the fuse file system should be mounted.
Is the dbus service running ? You can check with the following command:

Code: Select all

$ apt list dbus
$ systemctl status dbus
Are dbus-user-session and libpam-systemd installed ?

Code: Select all

$ apt list dbus-user-session libpam-systemd
What is the status of the loginctl service ?

Code: Select all

$ loginctl user-status
What is the default systemctl target ? You can check with the command:

Code: Select all

$ systemctl get-default
What is the contents of system logs about systemd services activation ? You can collect full system logs with the following commands:

Code: Select all

script log.txt
sudo journalctl -b --nopager
exit
The contents of system logs will be stored in the file named "log.txt". You can check it or report it in one of the following ways:
  • attaching the logs to a follow-up forum message as a compressed zip or gz file
  • paste logs into the body of a follow-up message between code tags (if they fit the size of a forum message)
Hope this helps.

--
[1] gvfsd - Main daemon for gvfs
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system
⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org
⠈⠳⣄⠀

Aki
Global Moderator
Global Moderator
Posts: 3950
Joined: 2014-07-20 18:12
Location: Europe
Has thanked: 109 times
Been thanked: 518 times

Re: [Thunar] GVFS/Removable Media Issues on Minimal Debian + Sway Installation

#7 Post by Aki »

Hello @IkeYeek,

Can you please update the discussion ?

Thanks.
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system
⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org
⠈⠳⣄⠀

IkeYeek
Posts: 4
Joined: 2024-11-05 18:12

Re: [Thunar] GVFS/Removable Media Issues on Minimal Debian + Sway Installation

#8 Post by IkeYeek »

Really sorry here, I've been very busy these days working intensively on projects for uni, but now it should be lighter so I'll try to answer as fast as I can (so maybe I can actually stop having anxiety whenever I try to delete a file haha)! And I wanted to take some time to answer properly to your very detailed answer (for which I thank you btw!) and actually try to understand what I'm doing and why I'm doing it!
So anyway, dbus seems to be running:

Code: Select all

apt list dbus
Listing... Done
dbus/stable,now 1.14.10-1~deb12u1 amd64 [installed]

Code: Select all

systemctl status dbus
● dbus.service - D-Bus System Message Bus
     Loaded: loaded (/lib/systemd/system/dbus.service; static)
     Active: active (running) since Sun 2024-11-17 17:00:43 CET; 18h ago
TriggeredBy: ● dbus.socket
       Docs: man:dbus-daemon(1)
   Main PID: 979 (dbus-daemon)
      Tasks: 1 (limit: 16311)
     Memory: 3.8M
        CPU: 13.300s
     CGroup: /system.slice/dbus.service
             └─979 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-acti>

Warning: some journal files were not opened due to insufficient permissions.
Pretty much the same for libpam I guess

Code: Select all

apt list dbus-user-session libpam-systemd
Listing... Done
dbus-user-session/stable,now 1.14.10-1~deb12u1 amd64 [installed,automatic]
libpam-systemd/stable,now 252.30-1~deb12u2 amd64 [installed]
here is the systemctl target

Code: Select all

systemctl get-default
graphical.target
I joined as a file the result of `loginctl user-status` but couldn't do it for the journalctl output which is like 72Mb. Did not fit on the debian paste service either so I created a proton drive to the txt file (don't know if it is allowed but don't see another way to do it): https://drive.proton.me/urls/4047CQ1TY0#J0UwXkobKowl

Again, thanks a lot for your time!
Attachments
loginctl_user-status.txt
(23.5 KiB) Downloaded 1 time

Post Reply