【问题标题】:DBus how to start serviceDBus如何启动服务
【发布时间】:2017-05-07 10:55:00
【问题描述】:

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

谁能帮助我或提供一些有用的链接?

【问题讨论】:

    标签: service dbus


    【解决方案1】:

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

    通常,您将配置为在启动时启动服务,但使用 systemd 也可以将其配置为在某些连接到特定套接字或尝试使用特定设备对象时启动。它被称为“套接字激活”和“dbus 激活”(参见当前的 systemd 文档)。

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

    *.xml 文件不是强制性的。也许看看其他包,看看他们把这些文件放在哪里。

    *.systemd 文件应位于某个常用位置(请参阅 systemd 文档),例如 /usr/lib/systemd/system

    【讨论】:

    • 感谢您的回复!!实际上我无法在系统总线上启动我的应用程序,但我已经想通应该使用 'sudo ...' 来完成
    • 嗯,这和 dbus-service 有什么关系?
    • @Anwar,它与任何其他服务没有什么不同(除了可能激活 dbus)。
    猜你喜欢
    • 2015-07-15
    • 2017-06-24
    • 2013-10-27
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    相关资源
    最近更新 更多