许多使用 dbus 的应用程序都能很好地响应方法调用并发送信号,因此显然对我来说并不是一切都有问题。但是:
- 在我的终端中,$DBUS_SESSION_BUS_FOO 环境变量永远不会自动设置;我必须运行
eval $(dbus-launch)
或eval
的内容~/.dbus/session-bus/[machine-id]
。这也会影响一些但并非所有 dbus 的编程接口 - python-dbus 都可以很好地连接到会话总线,但在 Haskell 下运行的 dbus-core 需要为自己设置环境变量。 - 有些应用程序确实不是工作正常;例如,audacious 不会发送信号(运行它时
--verbose
显示它被传递NULL
而不是代理)。
我尝试使用 dbus-launch 启动 fluxbox,如 dbus-launch 的手册页中所述,但这不会影响任何东西。是不是缺少一些简单的配置?