选择跨发行版 DBus 实现

     2023-04-14     90

关键词:

【中文标题】选择跨发行版 DBus 实现【英文标题】:Choosing cross-distro DBus implementation 【发布时间】:2019-04-20 13:10:35 【问题描述】:

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

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

【问题讨论】:

IMO glib、gio 库是任何桌面发行版中的最小依赖项。所以开发基于GDbus的蓝牙应用对于任何桌面来说应该都不是问题。你可以在这里找到一些例子:gist.github.com/parthitce 和细节在这里:linumiz.com 【参考方案1】:

来自freedesktop wiki

低级 libdbus 参考库没有必需的依赖项; 参考总线守护程序唯一需要的依赖项是 XML 解析器 (外籍人士)。特定于特定框架(Qt, GLib、Java、C#、Python 等)添加更多的依赖项,但可以使更多 假设,因此使用起来更简单。绑定进化 与底层的libdbus分开,所以有些比较成熟 ABI-比其他人稳定;检查您计划绑定的文档 使用。

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

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

您可以在here 找到一个很好的选项概述。

【讨论】:

你是对的。但是使用 libdbus 意味着 如果你直接使用这个低级 API,你注册会有些痛苦(复制自 dbus.freedesktop.org/doc/api/html) 尼尔的回答很好。您可以在此处找到有关不同 D-Bus 客户端库之间差异的更多详细信息:***.com/a/44696835/2931197。

华为od机试真题js实现linux发行版的数量2023q1|100分

...目录、JavaScript实现目录题目  Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发行版互相存在关联,例如Ubuntu基于Debian开发,而Mint又基于Ubuntu开发,那么我们认为Mint同Debian也存在关联。  &... 查看详情

在dosboxsvndaum中安装了win98,怎样实现访问本地硬盘

参考技术A下载任意发行版镜像vbox里点新建,选择该发行版一直点下一步然后在存储里虚拟光驱选择已经下载好的镜像文件点击启动,根据提示操作,安装步骤因发行版而异,与实体机安装步骤一致 查看详情

hadoop最新发行稳定版:dkhadoop版本选择详解

hadoop最新发行稳定版:DKHadoop版本选择详解Hadoop对于从事互联网工作的朋友来说已经非常熟悉了,相信在我们身边有很多人正在转行从事hadoop开发的工作,理所当然也会有很多hadoop入门新手。Hadoop开发太过底层,技术难度远比我... 查看详情

DBus 是我要找的吗?

...和客户端如果一个端点崩溃,必须通知其他端点现有Linux发行版的良好支持存在Apache的“绑定”,用于创建动态页面按重要性排序(大致)。我不需要极高的性能,也不会发送大量数 查看详情

2019年10个最佳linux发行版,你用过几个?如何选择适合自己的?

...考技术A2019年即将结束。虽然Linux的世界确实提供了很多选择,但一开始它可能会让人不知所措。这就是为什么我们准备本指南来帮助您选择最适合您需要的Linux发行版的原因。有些发行版在一种任务上表现更好,有些则是多面手... 查看详情

设置工具链时,Eclipse (Kepler) 可以在两个已安装的 MinGW 发行版之间进行选择吗?

...时,Eclipse(Kepler)可以在两个已安装的MinGW发行版之间进行选择吗?【英文标题】:CanEclipse(Kepler)selectbetweentwoinstalledMinGWdistributionswhensettingaToolchain?【发布时间】:2014-05-2317:44:38【问题描述】:我正在使用EclipseKepler,我使用的是您... 查看详情

华为od机试真题python实现linux发行版的数量2022.11q4新题

...:        Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发行版互相存在关联,例如Ubuntu基于Debian开发,而Mint又基于Ubuntu开发,那么我们认为Mi 查看详情

华为od机试真题java实现linux发行版的数量2022.11q4新题

...:        Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发行版互相存在关联,例如Ubuntu基于Debian开发,而Mint又基于Ubuntu开发,那么我们认为Mi 查看详情

华为od机试真题c++实现linux发行版的数量2022.11q4新题

...:        Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发行版互相存在关联,例如Ubuntu基于Debian开发,而Mint又基于Ubuntu开发,那么我们认为Mi 查看详情

哪个linux发行版是没有图形界面,只有终端的

...susecentosUbuntu等,这些linux操作系统都是可以在安装的时候选择最小化安装,选择最小化安装是不会安装图形界面的。图形界面只是一个程序,如kde、X-Windows等 参考技术B图形只是一个软件而已,不装就是了 查看详情

解决:error:java:无效的源发行版:12

...两个地方。第一个位置:Shift/Ctrl/Alt/S快捷键一起按Modules选择你的项目(以及父级项目,如果有的话)->选择8(你的jdk版本)如图:第二个位置1.Setting:2.查找javacompiler->Targetbytecodeversion修改为8(你的jdk版本,同样注意父级... 查看详情

spark发行版笔记11

本期概览:ReceiverTracker架构设计消息循环系统ReceiverTracker具体的实现SparkStreaming作为SparkCore基础架构之上的一个应用程序,其中的ReceiverTracker接收到数据之后,具体该怎么进行数据处理呢?为了弄清楚这个问题,首先,我们打开... 查看详情

spark发行版笔记13

本期概览:ReceiverTracker架构设计消息循环系统ReceiverTracker具体的实现SparkStreaming作为SparkCore基础架构之上的一个应用程序,其中的ReceiverTracker接收到数据之后,具体该怎么进行数据处理呢?为了弄清楚这个问题,首先,我们打开... 查看详情

为数十万台设备更新内部linux发行版,google如何做到?

...系统平台,其中包括 ​​Linux​​。15多年前,谷歌选择基于UbuntuLTS构建内部Linux发行版Goobuntu,主要是看中了Ubuntu具备用户友好、易于使用的特性,以及提供了许多优秀功能。谷歌内部使用了许多不同的操作系统平台,其中... 查看详情

2020最受欢迎的linux发行版top10

...越多的接纳,然而Linux发行版众多,大家普遍存在选择障碍。除了服务器端运维们都喜欢RedhatCentos,开发和容器普遍喜欢Ubuntu外,对其他新入门的小白以及桌面UI党们来说找一个好看好用的发行版还是需要自习甄选... 查看详情

linux也分不同发行版,不同版本类型的linux命令有所区别(代码片段)

...Linux发行版类型,实际上还有很多其他类型的发行版可供选择。 二、清大科越公司用的帕拉迪是基于ubuntu吗?帕拉迪是一款基于Linux操作系统的发行版,但它不是基于Ubuntu。实际上,帕拉迪是基于DebianLinux的 查看详情

使用 sbt native packager 的环境特定发行版

】使用sbtnativepackager的环境特定发行版【英文标题】:Environment-specificdistributionsusingsbtnativepackager【发布时间】:2013-12-3012:43:42【问题描述】:我正在尝试使用Play(2.2)中提供的sbt本机打包程序功能创建/配置特定于环境的发行版(... 查看详情

小孩子才做选择,成年人都要,linux各发行版畅玩,建议收藏!

前言由于linux内核开源,所以linux的发行版本非常多,各有各的优劣,到底哪个好,大家众说纷纭,所以二当家的我决定自己都装上畅玩一遍。如果不是亲身体验,我能乱说?之前有详细写过如何安装lin... 查看详情