我是dbus的新手,我试图了解如何使用它,但似乎找不到我想要的答案。
我是否正确,我可以发明自己的服务名称,只要它们是唯一的并且不与任何其他服务名称冲突?
当我调用dbus_bus_request_name()来请求自己的服务名称时,由于配置文件中的安全策略,我收到一条错误消息,提示我不允许拥有该服务。在查看/ etc / dbus-1配置目录时,似乎有一个系统配置文件(/etc/dbus-1/system.conf),然后是用于各种服务的其他配置文件的子目录(/ etc / dbus-1 / system.d子目录)。
我使用其他.conf文件作为示例为我的服务名称添加了一个配置文件。但是我看不到system.conf文件读取任何单个的.conf文件。我是否正确地假设单个配置文件将以某种方式被读取?因此,在编辑system.d目录中的单个.conf文件之一之后,或者像我一样添加新的服务配置文件之后,如何获得系统总线以重新读取system.conf文件?
这是配置系统总线的正确方法,这样我可以获得2条过程通过消息吗?我的应用程序是一个封闭的应用程序,包含多个进程,因此,我打算通过系统dbus进行的唯一通信仅是在我自己的进程之间,而不是任何其他公共或其他知名服务。
谢谢,
-安德烈斯
我是否正确,我可以发明自己的服务名称,只要它们是唯一的并且不与任何其他服务名称冲突?
是的
当我调用dbus_bus_request_name()来请求自己的服务名称时,由于配置文件中的安全策略,我收到一条错误消息,提示我不允许拥有该服务。
我猜您正在使用SYSTEM总线。除非有理由使用SYSTEM总线,否则使用SESSION总线会更容易,尤其是对于测试而言。SYSTEM总线还使用其他安全措施来确保系统的安全,请查看服务的一些配置文件,它们说明如何允许某些服务在总线上拥有特定名称。
我是否正确地假设单个配置文件将以某种方式被读取?
是的,如果您查看system.conf,则可以看到<includedir>
标记,该标记将包含该目录中的所有内容。
因此,在编辑system.d目录中的单个.conf文件之一之后,或者像我一样添加新的服务配置文件之后,如何获得系统总线以重新读取system.conf文件?
发送一个SIGHUP
到dbus-daemon。
这是配置系统总线的正确方法,这样我可以获得2条过程通过消息吗?
那应该工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句