查看d-feets的源代码当然比浏览整个dbus-python-lib更容易找到答案。在声明总线名称时,可以使用类似问题中的地址,方法是传入一个以地址为参数的
我想在自定义总线(即不是SessionBus或SystemBus)上提供dbus方法和信号。如果我从命令行启动dbus守护进程的测试副本,如dbus守护程序手册页中所述,如下所示:
dbus守护进程--会话--打印地址
然后返回例如地址:
unix:abstract=/tmp/dbus-vthAiAw4am,guid=60da6b6ef244a0db9710a800002218
我可以用d英尺中的这个地址来"连接到其他总线",但那里什么都没有。现在,我想在该总线上声明一个名称,并导出对象以使用Python提供dbus方法和信号。我试着阅读dbus.service.BusName
后面的代码,我通常会通过会话或系统总线,但我只是迷路了。有人知道怎么做(如果可能的话)吗?
dbus.bus.BusConnection
对象,如下所示:
bus_name=dbus.service.BusName('my.testbus.test',dbus.bus.BusConnection('unix:abstract=/tmp/dbus-vthAiAw4am')
然后,我可以导出方法并在此总线上发出信号。