我想了解更多关于Linux中的DBus的信息。在我的Ubuntu16.04终端上执行qbus之后,我看到:
:1.0
com.ubuntu.Upstart
:1.1
:1.11
org.freedesktop.PowerManagement
org.xfce.PowerManager
:1.12
:1.13
:1.15
:1.16
ca.desrt.dconf
...:1.0是什么意思?为什么我看到这样的数字在乘法线?我从手册(--help)中知道的是,com.ubuntu.Upstart指的是服务名称。因为,使用0参数,qdbus将列出总线上可用的服务。因此,如果我运行qdbus com.ubuntu.Upstart,它将返回:
/
/com
/com/ubuntu
/com/ubuntu/Upstart
/com/ubuntu/Upstart/jobs
/com/ubuntu/Upstart/jobs/at_2dspi2_2dregistryd
/com/ubuntu/Upstart/jobs/dbus
...我的客人是,上面的路径是文件系统中找不到的DBus对象。但是,我能解释关于这些对象的更多细节吗?因为我们可以创建多条总线。我的最后一个问题是,我们如何才能看到一个系统中所有可用公共汽车的列表?
谢谢。
发布于 2017-11-28 18:07:44
来自https://dbus.freedesktop.org/doc/dbus-tutorial.html#interfaces
当每个应用程序连接到总线守护进程时,守护进程立即为它指定一个名,称为唯一连接名。唯一的名称以':‘(冒号)字符开头。这些名称在总线守护进程的生存期内从未重用过-也就是说,您知道给定的名称总是引用同一个应用程序。唯一名称的一个例子可能是:34-907。冒号后面的数字除了它们的唯一性外没有别的意义。
再往前走一点
应用程序可能会要求拥有更多的知名名称。例如,可以编写一个规范来定义一个名为com.mycompany.TextEditor的名称。您的定义可以指定要拥有这个名称,应用程序应该在path /com/mycompany/TextFileManager上有一个支持接口org.freedesktop.FileHandler的对象。
因此,类似于:1.123只是唯一的名称,但它也可能在列表中的某个人类可读的名称下引用。
https://askubuntu.com/questions/981151
复制相似问题