2015-11-02 137 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的內容)