2015-11-02 96 views
0

我试图使用d总线来控制其他应用程序。在使用Python绑定,就可以使用d-Bus的只是dbus.SessionBus()会话总线初始化

然而,其他的应用程序需要先设置环境变量DBUS_SESSION_BUS_ADDRESSDBUS_SESSION_BUS_PID,否则他们报告说,名为“没有任何文件。服务提供的”。

我的问题是,为什么有必要对某些应用程序来设置环境变量?是否在某些情况下初始化会话总线的标准过程?

回答

0

只是一个猜测:Python客户端可能能够使用X11发现会话总线地址(除了使用DBUS_SESSION_BUS_ADDRESS环境变量)。它被存储在_DBUS_SESSION_BUS_SELECTION_[hostname]_[uuid]选择所有者窗口的_DBUS_SESSION_BUS_ADDRESS属性(UUID是/ var/lib中/ DBUS /机器ID的内容)