DBus如何启动服务

DBus how to start service

我很好奇如何为 DBus 启动我自己的服务。 在官方网站上,我发现了很多关于从客户端角度使用 DBus 服务的信息,但是如何启动和开发服务还不够: 1) 接口文件应该放在哪里ServiceName.xml 2) 服务文件应该放在哪里ServiceName.service 3) 如何手动启动服务,而不是在系统启动时。

任何人都可以帮助我或提供一些有用的链接吗?

制作一个由 OS 的服务管理器启动的服务(initd、systemd 等)。在该程序中使用 dbus 库实例化服务器端对象。

通常,您将配置为在启动时启动该服务,但使用 systemd 也可以将其配置为在某物连接到特定套接字或某物试图使用特定设备对象时启动。它被称为 'socket activation' 和 'dbus activation'(请参阅当前的 systemd 文档)。

如果您想手动启动服务 - 然后执行 systemctl disable <service-name> 以禁用启动时启动。手动启动服务:systemctl start <service-name>.

*.xml 文件不是必需的。也许查看其他软件包以查看它们将这些文件放在哪里。

*.systemd 文件应该放在一些常用的地方(参见 systemd 文档),例如 /usr/lib/systemd/system