# DBUS

DBUS,数据总线,是一个低延迟,低开销,高可用的 IPC 机制。

D-Bus 是一种高级的进程间通信机制,由 freedesktop.org 项目提供,使用 GPL 许可证发行。

# 用途

D-Bus 最主要的用途是在 Linux 桌面环境为进程提供通信,同时能将 Linux 桌面环境和 Linux 内核事件作为消息传递到进程。

# 总线

D-Bus 的主要概念为总线,注册后的进程可通过总线接收或传递消息,进程也可注册后等待内核事件响应,例如等待网络状态的转变或者计算机发出关机指令。

# 流行

D-Bus 以被大多数 Linux 发行版所采用,开发者可使用 D-Bus 实现各种复杂的进程间通信任务。

# 进程间通信

D-Bus 是一个消息总线系统,其功能已涵盖进程间通信的所有需求,并具备一些特殊的用途。

# 三层架构

D-Bus 是三层架构的进程间通信系统,其中包括:

## 接口层:

接口层由函数库 libdbus 提供,进程可通过该库使用 D-Bus 的功能。

## 总线层:

总线层实际上是由 D-Bus 总线守护进程(dbus-daemon)提供的。它在 Linux 系统启动时运行,负责进程间的消息路由和传递,其中包括 Linux 内核和 Linux 桌面环境的消息传递。

## 包装层:

包装层一系列基于特定应用程序框架的 Wrapper 库。

参考

百度百科

和菜鸟一起学linux之DBUS基础学习记录

基于GDBUS 的例子 验证可用

GitHub - gdbus-example 验证可用

Glib学习(28) gdbus最简单的例子 参考下讲解

D-bus 介绍(一) 概念通俗易懂

DBus daemon 启动(三) /usr/bin/dbus-daemon –system, /usr/bin/dbus-daemon –session

从零认识D-Bus