参考
dbus地址由3部分组成
service object-path interface
service:
或者所谓的bus name, 实际上是applicantion连到bus上的connection name, 不是(dbus中可以包含很多bus, 这个bus name不是这些bus的名字, 而是连接的名称)
service 一般使用reverse domain, 即将域名倒过来, 如org.kde.krunner, 因为会有许多连接, 所以这样命名可以是连接名字不会冲突
object-path:
就像一个网站里面可以有许多文件, 这些文件都要用路径来标志一下, 一个application可以提供多个object, 这些object 也要用路径来标志, object path跟平常的文件系统很相似, 如
/MainObject (/ScreenSaver), 一些命名规则是,前缀加上reverse domain, 如/org/freedesktop/MainObject
interface:
interface是方法跟信号的集合, 一个object提供一个或多个interface
interface 也用reverse domain的方法, 如 org.kde.screensaver
一个完整的例子如下:
org.kde.krunner /ScreenSaver org.kde.screensaver.setBlankOnly
如果object 只有一个接口,可以把接口名省略掉
org.kde.krunner /ScreenSaver setBlankOnly