6.73. D-Bus-1.12.16

D-Bus 是一个消息总线系统,应用之间相互通信的简单方式。D-Bus 支持系统守护进程(例如添加新硬件设备或打印队列更改事件)和每个用户的登录会话守护进程 (例如用户应用程序之间的一般进程间通信)。另外,消息总线在通用一对一消息传递框架之上构建,该框架使得任意两个应用可以直接通信(而不需要通过消息总线守护进程)。

大致构建用时: 0.1 SBU
所需磁盘空间: 18 MB

6.73.1. 安装 D-Bus

准备编译 D-Bus:

./configure --prefix=/usr                       \
            --sysconfdir=/etc                   \
            --localstatedir=/var                \
            --disable-static                    \
            --disable-doxygen-docs              \
            --disable-xml-docs                  \
            --docdir=/usr/share/doc/dbus-1.12.16 \
            --with-console-auth-dir=/run/console

配置选项的含义:

--with-console-auth-dir=/run/console

该选项指定 ConsoleKit 验证目录的位置。

编译软件包:

make

该软件包附带了一个测试套件,但需求几个未包含在 LFS 中的软件包。运行测试套件的命令可以在 BLFS 指南 http://www.linuxfromscratch.org/blfs/view/9.0/general/dbus.html 中找到。

安装软件包:

make install

需要移动共享库到 /lib,因此需要重建 /usr/lib 中的 .so 文件:

mv -v /usr/lib/libdbus-1.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so

创建符号链接,使得 D-Bus 和 systemd 可以使用相同的 machine-id 文件:

ln -sfv /etc/machine-id /var/lib/dbus

6.73.2. D-Bus 软件包内容

安装的程序: dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor, dbus-run-session, dbus-send, dbus-test-tool, dbus-update-activation-environment, and dbus-uuidgen
安装的库: libdbus-1.{a,so}
安装的目录: /etc/dbus-1, /usr/include/dbus-1.0, /usr/lib/dbus-1.0, /usr/share/dbus-1, /usr/share/doc/dbus-1.12.16, 和 /var/lib/dbus

简要介绍

dbus-cleanup-sockets

用于清理目录中残留的套接字

dbus-daemon

D-Bus 消息总线守护进程

dbus-launch

从 shell 脚本启动 dbus-daemon

dbus-monitor

监控 D-Bus 消息总线中传送的消息

dbus-run-session

从 shell 脚本中启动一个 dbus-daemon 会话总线实例并在会话中启动指定程序

dbus-send

发送消息到 D-Bus 消息总线

dbus-test-tool

帮助软件包测试 D-Bus 的工具

dbus-update-activation-environment

更新 D-Bus 会话服务的环境变量

dbus-uuidgen

生成一个通用唯一 ID

libdbus-1

包含用于和 D-Bus 消息总线交互的 API 函数