【问题标题】:Session bus initialization会话总线初始化
【发布时间】:2015-11-02 14:39:53
【问题描述】:

我正在尝试使用 D-Bus 来控制另一个应用程序。使用 Python 绑定时,可以仅通过 dbus.SessionBus() 使用 D-Bus。

但是,其他应用程序需要先设置环境变量DBUS_SESSION_BUS_ADDRESSDBUS_SESSION_BUS_PID,否则会报告名称“不是任何.service文件提供的”。

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

【问题讨论】:

    标签: python linux dbus


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-11-18
      • 2013-10-14
      • 1970-01-01
      • 2020-02-04
      • 2016-12-16
      • 2021-10-15
      • 2020-10-14
      • 2015-04-02
      • 1970-01-01
      相关资源
      最近更新 更多