如何创建 DBUS 服务

Posted

技术标签:

【中文标题】如何创建 DBUS 服务【英文标题】:How to create a DBUS service 【发布时间】:2013-10-27 12:34:54 【问题描述】:

我是 DBUS 的新手。

我一直在尝试为我的程序创建 DBUS 服务,以便应用程序可以通过 DBUS 联系它。

我已经完成了这个教程http://kkaempf.blogspot.in/2009/03/d-bus-service-on-demand.html

但是当我通过这个过程并在 linux 中运行 qdbus 命令时,我创建的服务没有在终端上列出。

所以如果有人能列出创建 DBUS 服务的过程,那将会很有帮助。

谢谢, 萨蒂什

【问题讨论】:

【参考方案1】:

您无需执行任何操作即可提供 DBus 消息。所有客户端和服务都通过总线交换消息,总线是唯一的“服务器”——客户端和服务在这里是“客户端”。 Bus 自动为客户端分配名称(通常是“:some_number”)。您可以使用 org.freedesktop.DBus 接口的RequestName 消息要求总线分配您的名称。

请注意,如果您想在系统总线上请求名称,您需要在 dbus 配置中添加“允许拥有”策略(请参阅example)

【讨论】:

以上是关于如何创建 DBUS 服务的主要内容,如果未能解决你的问题,请参考以下文章

DBus - 如何列出系统总线中的所有服务(总线名称)?

如何通过 python 和 dbus (systemd-run like) 创建 systemd 瞬态计时器和服务?

如何从另一个进程/程序将对象添加到 DBus 服务

如何使用 DBus 中已有的服务?

如何在 dbus 回调函数中获取 systemd 服务信息

如何通过 Systemd DBus API 提取服务状态?