在登录会话之间重用D-Bus会话
我通过多个登录会话访问计算机。会话的生命周期可以重叠也可以不重叠。就我而言,这些登录会话当前始终通过SSH进行,但我也希望处理本地会话。 有时在这些会话中需要D-Bus,并且为了使用GVFS,我想在这些登录会话中共享相同的D-Bus会话。 推荐的方法是什么?我不想中断我可能不知道的D总线的使用。我考虑过使用 export $(dbus-launch --autolaunch $(cat /var/lib/dbus/machine-id)) 但是(从Ubuntu 12.04开始)这似乎不正确: 这需要一个X会话,但是我的SSH会话可能转发或可能不转发X显示,甚至那些不相同的X会话$DISPLAY; 如果没有可用的X显示,则dbus-launch抱怨“自动启动错误:X11初始化失败。”并且没有启动守护程序; 在dbus-launch那个“男人页面状态--autolaunch的选项被认为是一个内部实现细节(...)。无论如何,没有真正的理由在libdbus实现之外使用它。” dbus-launchD-Bus套件中的或其他工具是否支持自动检测运行dbus-daemon并连接到它?~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-${DISPLAY#*:}D-Bus是通过X连接启动的,但是如果没有X连接可用,该信息似乎不会存储在任何地方。 我应该拼凑自己的D-Bus会话文件吗?如果可以,我应该在~/.dbus/session-bus目录中使用文件吗?路径/var/lib/dbus/machine-id可靠且可移植吗?