我编写了一个脚本,它连接到远程计算机上的 d-bus 会话总线,如下所示:
os.environ["DBUS_SESSION_BUS_ADDRESS"] = "tcp:host=192.168.0.1,port=1234"
bus = dbus.SessionBus()
这很好,除了现在我需要能够连接到不同计算机上的多个会话总线。我尝试了以下方法:
os.environ["DBUS_SESSION_BUS_ADDRESS"] = "tcp:host=192.168.0.1,port=1234"
bus1 = dbus.SessionBus()
os.environ["DBUS_SESSION_BUS_ADDRESS"] = "tcp:host=192.168.0.2,port=1234"
bus2 = dbus.SessionBus()
但它不起作用。第二次调用 SessionBus 返回与第一次调用相同的对象。IE。在这种情况下,两个对象都指向 192.168.0.1 上的会话总线。似乎只有对 SessionBus 的第一次调用实际上做了任何事情,所有后续调用只返回第一次调用时创建的对象。有谁知道解决这个问题的方法?