选择跨发行版 DBus 实现
Choosing cross-distro DBus implementation
我正在尝试编写一个 systemd 守护程序,它应该在 SDP 中注册新服务、侦听 RFCOMM 连接并与其他蓝牙设备交换一些信息。守护进程应该尽可能独立于发行版。因为我想使用 BlueZ5,所以我需要使用 DBus(这对我来说是新的)。
所以我的问题来了,选择 GDBus 是否会使我的守护进程 运行 仅在安装了 GNOME 的系统上运行?或者类似地,QtDBus 只能与 KDE 一起使用吗?如果是,我应该怎么做才能在多个发行版上 运行 它?
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 作为更好的选择。
您可以在 .
中找到对您的选项的一个很好的概述
我正在尝试编写一个 systemd 守护程序,它应该在 SDP 中注册新服务、侦听 RFCOMM 连接并与其他蓝牙设备交换一些信息。守护进程应该尽可能独立于发行版。因为我想使用 BlueZ5,所以我需要使用 DBus(这对我来说是新的)。
所以我的问题来了,选择 GDBus 是否会使我的守护进程 运行 仅在安装了 GNOME 的系统上运行?或者类似地,QtDBus 只能与 KDE 一起使用吗?如果是,我应该怎么做才能在多个发行版上 运行 它?
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 作为更好的选择。
您可以在