GVFS 不支持 file:/// 以外的方案

GVFS 不支持 file:/// 以外的方案

我认为这是我安装 GVFS 时出现的一个更大问题的根源。我在 Linux Mint 20.04 上运行 XFCE4,并且从第一天无法在任何文件管理器中使用 GVFS 功能。我无法使用垃圾箱,无法访问 SFTP 服务器或任何需要 GVFS 的东西。尝试打开 Thunar 显示屏上的垃圾箱

无法打开“垃圾箱:///”不支持操作。

其他文件管理器上也会出现类似的消息,通常显示“不支持操作”。

当进入偏好设置时,Thunar 显示

看起来像重力加速度不可用

在实际挖掘 Thunar 源代码后,我发现它实际上在这里做的是测试获取_supported_uri_schemes函数用于常见的事情,例如trashsftp,如果这些不显示为受支持,则显示“gvfs 不可用”。我自己用下面的代码片段(取自 Thunar 源代码)对此进行了测试,该函数返回的唯一受支持的方案是file.我可以通过在 Thunar 顶部栏中输入路径来确认这一点;当file:///输入除任何内容之外的任何内容时,它都会抱怨。

const gchar * const *supported_schemes;
gboolean             supported = FALSE;
guint                n;
GVfs                *gvfs;

gvfs = g_vfs_get_default ();
supported_schemes = g_vfs_get_supported_uri_schemes (gvfs);

if (supported_schemes == NULL)
    return FALSE;

for (n = 0; !supported && supported_schemes[n] != NULL; ++n)
    if (g_strcmp0 (supported_schemes[n], "trash") == 0)
    supported = TRUE;

return supported;

进一步深入研究后旧论坛帖子,似乎在工作机器上,gvfs 守护进程应该由 Nautilus、Thunar 或任何其他请求它的文件管理器自动启动(不确定它是如何工作的)。这在我的机器上没有发生,原因我还没有确定。我可以使用 手动启动服务 systemctl --user start gvfs-daemon,但运行的此进程不会更改 的输出get_supported_uri_schemes

我尝试过的事情(没有成功)

  1. 重新安装 glib、gvfs(以及 gvfs 包的每个列出的依赖项)
  2. 安装 gvfs-backends、gvfs-common 等。
  3. 添加exec dbus-launch --sh-syntax --exit-with-session xfce4-session到我的.xinitrc(根据这个旧帖子
  4. 使用手动启动 gvfs-daemonsystemctl
  5. 以 root 身份运行整个会话(startx从 root 终端),同样的问题

任何人都可以向我指出 gvfs 可能出现的问题的模糊方向吗?为什么它不注册为支持除 之外的任何内容file:///?为什么守护进程不随文件管理器自动启动?

我感谢任何人都可以在这里提供的帮助,如果需要更多信息,请发表评论。

相关内容