允许对我的D-Bus系统服务进行内省

时间:2013-04-18 17:25:11

标签: dbus

在花了一些时间了解D-Bus会话和系统总线是如何工作之后,我现在专注于允许人们使用和内省我的服务,以便允许任何人使用我的服务轻松实现功能。 / p>

然后我编写了以下配置文件,放在我的/etc/dbus-1/system.d/中:

 <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
     "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
 <busconfig>
  <policy user="root">
    <allow own="org.zedroot.Test" />
    <allow send_destination="org.zedroot.Test" />
  </policy>
  <policy context="default">
    <allow send_destination="org.zedroot.Test"
           send_interface="org.zedroot.Test" />
    <allow send_destination="org.zedroot.Test"
           send_interface="org.freedesktop.DBus.Introspectable" />
    <allow send_destination="org.zedroot.Test"
           send_interface="org.freedesktop.DBus.Properties" />
  </policy>
</busconfig>

但是使用d-feet我可以看到我的服务但不能反省它(我的服务中没有看到任何内容:没有方法,信号或属性)。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

重新启动计算机后,它现在正在运行。

答案 1 :(得分:0)

以供将来参考。

以下内容应足以对您的服务进行自省:

.
.
<!-- Allow introspect -->
<policy context="default">
  <allow send_destination="org.zedroot.Test"/>
</policy>
.
.