选择跨发行版 DBus 实现

Choosing cross-distro DBus implementation

我正在尝试编写一个 systemd 守护程序,它应该在 SDP 中注册新服务、侦听 RFCOMM 连接并与其他蓝牙设备交换一些信息。守护进程应该尽可能独立于发行版。因为我想使用 BlueZ5,所以我需要使用 DBus(这对我来说是新的)。

所以我的问题来了,选择 GDBus 是否会使我的守护进程 运行 仅在安装了 GNOME 的系统上运行?或者类似地,QtDBus 只能与 KDE 一起使用吗?如果是,我应该怎么做才能在多个发行版上 运行 它?

来自freedesktop wiki

The low-level libdbus reference library has no required dependencies; the reference bus daemon's only required dependency is an XML parser (expat). Higher-level bindings specific to particular frameworks (Qt, GLib, Java, C#, Python, etc.) add more dependencies, but can make more assumptions and are thus much simpler to use. The bindings evolve separately from the low-level libdbus, so some are more mature and ABI-stable than others; check the docs for the binding you plan to use.

所以您可以随心所欲地独立于平台。

Parthiban 在评论中的建议可能是您最好的选择,因为即使是 libdbus 开发人员也推荐 GDBus 作为更好的选择。

您可以在 .

中找到对您的选项的一个很好的概述