启动
D-Bus服务进程可以按需要启动对应服务。有两种启动方式,它们都需要请求服务的客户提供要连接的公共名:
1. 使用总线对象所提供的方法
2. 使用连接公共名,直接调用目标连接上的对象方法
要建立可以自动启动的服务,需要设置服务配置文件。服务配置以UTF-8文本形式存放在.service文件中。比如com.xl.safe.service(文件名是任意的,但必须以.service结尾,放到目录/usr/share/dbus-1/services下
文件格式如下:
[D-BUS Service]
Name=com.xl.cnossafe;com.xl.secure
Exec=/opt/xl/safed
User=root
设置
目录/etc/dbus-1/system.d下
com.xl.cnossafe.conf
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<!-- Only user root can own the foo helper -->
<policy user="root">
<allow own="com.xl.cnossafe"/>
</policy>
<!-- Allow anyone to call into the service - we'll reject callers using PolicyKit -->
<policy context="default">
<allow send_destination="com.xl.cnossafe"/>
</policy>
</busconfig>