首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Qtdbus在系统总线上公开方法

如何使用Qtdbus在系统总线上公开方法
EN

Stack Overflow用户
提问于 2012-01-27 07:37:31
回答 1查看 1.7K关注 0票数 5

我希望使用Qt中的Qt在系统总线上公开我的应用程序的方法。在使用会话总线时,方法会被公开,但是使用系统总线,我只能看到我注册的服务名称,但是没有方法在它下面公开。(我正在用D脚检查它)我该怎么办?

EN

回答 1

Stack Overflow用户

发布于 2013-10-02 10:37:17

您必须将配置文件(例如:例-dbus.conf)放置在/etc/dbus-1/system.d/中。

example-dbus.conf文件如下所示:

代码语言:javascript
复制
<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">

<busconfig>
  <!-- Only root user can own the service -->
  <policy user="root">
    <allow own="com.company.qtdbus"/>
  </policy>

  <!-- Allow anyone to invoke methods on server, except SetHostName -->
  <policy context="default">
    <allow send_destination="com.company.qtdbus"/>
    <allow receive_sender="com.company.qtdbus"/>

    <deny send_destination="com.company.qtdbus"
          send_interface="com.company.qtdbus.Server" send_member="SetHostName"/>
  </policy>

  <!-- Allow everything, including access to SetHostName -->
  <policy user="root">
    <allow send_destination="com.company.qtdbus"/>
    <allow receive_sender="com.company.qtdbus"/>
  </policy>
</busconfig>

使用/etc/init.d/d-bus restart重新启动dbus守护进程,现在应该允许您连接到系统总线。实际上,如果不允许连接到系统总线,则会显示错误消息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9030253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档