我对 gvfs 守护进程有疑问
我有一个已安装的 gvfsd-fuse
$ mount | grep gvfs
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
在 pc1 上(不使用 ssh)
$ gvfs-info -w $HOME
<...>
Writable attribute namespaces:
metadata (string, Copy with file, Keep with file when moved)
xattr (string, Copy with file, Keep with file when moved)
xattr-sys (string, Keep with file when moved)
但是当我使用 ssh 登录这台机器时
$ ssh -X user@pc1
$ gvfs-info -w $HOME
<...>
Writable attribute namespaces:
xattr (string, Copy with file, Keep with file when moved)
xattr-sys (string, Keep with file when moved)
这元数据缺少部分,当我通过 ssh 使用 nautilus 并更改每个文件夹设置(即缩放或文件排序)时需要它。
$ ssh -X user@pc1
$ nautilus
=> changing the zoom level for example, then change folder, go back, the zoom setting is lost (reset to default)
this does not happen when I log physically on this machine.
答案1
好的,几个小时后我找到了答案。
似乎没有为远程 ssh 会话启动 dbus 守护进程。
因此使用现有的 DBUS_SESSION_BUS_ADDRESS 失败了,但我找到了一个解决方案这里:
$ ssh -X user@pc1 "gnome-terminal -e 'dbus-launch --exit-with-session bash'"
$ nautilus
我启动一个新的会话总线或在 X 显示器上找到现有的总线地址,以便应用程序可以与 gvfs 守护进程进行通信。