我很好奇如何为DBus开始自己的服务。 在官方网站上,我从客户的角度发现了很多关于使用DBus服务的信息,但是如何启动和开发服务还不够: 1)应该在哪里找到接口文件ServiceName.xml 2)应该在哪里找到服务文件ServiceName.service 3)如何手动启动服务,而不是启动系统。
有人可以帮助我或提供一些有用的链接吗?
答案 0 :(得分:1)
创建由OS的服务管理器(initd,systemd等)启动的服务。在该程序中使用dbus库实例化服务器端对象。
通常,您将配置为在启动时启动服务,但是对于systemd,还可以将其配置为在某些内容连接到特定套接字或某些内容尝试使用特定设备对象时启动。它被称为“套接字激活”和“dbus激活”(参见当前的systemd文档)。
如果要手动启动服务,请执行systemctl disable <service-name>
以禁用启动时启动。要手动启动服务:systemctl start <service-name>
。
* .xml文件不是强制性的。也许查看其他软件包,看看他们放置这些文件的位置。
* .systemd文件应该位于/usr/lib/systemd/system
之类的常用位置(请参阅systemd docs)。