![如何添加另一个 dbus 服务文件搜索目录?](https://linux22.com/image/210307/%E5%A6%82%E4%BD%95%E6%B7%BB%E5%8A%A0%E5%8F%A6%E4%B8%80%E4%B8%AA%20dbus%20%E6%9C%8D%E5%8A%A1%E6%96%87%E4%BB%B6%E6%90%9C%E7%B4%A2%E7%9B%AE%E5%BD%95%EF%BC%9F.png)
我构建了一个定义 dbus 服务的应用程序。我已在 下安装了该应用程序/opt/myapp
,现在有一个名为/opt/myapp/share/dbus-1/services/whatever.MyApp.service
.
现在,我想如果我将其复制到驻留在 下/usr/local/share/dbus-1/services
,那可能会起作用。但我宁愿做的是将其添加/opt/myapp/share/dbus-1/services
到服务查找路径中。我怎么做?
PS - 如果有必要的话,我使用 Devuan。
答案1
从man dbus-daemon
消息总线守护进程有一个配置文件
标准系统范围和每会话消息总线设置在文件“/usr/share/dbus-1/system.conf”和“/usr/share/dbus-1/session.conf”中配置。这些文件通常 <include> /etc/dbus-1 中的 system-local.conf 或 session-local.conf;您可以在这些文件中放置本地覆盖,以避免修改主配置文件。
配置文件是一个XML文档。
配置文件中可能存在以下元素。
<servicedir> 添加一个目录来搜索 .service 文件,该文件告诉 dbus-daemon 如何启动程序以提供特定的众所周知的总线名称。有关 .service 文件内容的更多详细信息,请参阅 D-Bus 规范。
<standard_session_servicedirs/> 请求一组标准的会话服务目录。其效果类似于按照此处给出的顺序为每个数据目录指定一系列元素。