8.77. D-Bus-1.14.10

D-Bus はメッセージバスシステムであり、アプリケーションから他のアプリケーションへの通信を容易に行う方法を提供します。 D-Bus にはシステムデーモン (例えば "新たなハードウェアデバイスが追加されました" や "プリンターキューが変更されました" といったイベント) やログインユーザーごとのセッションデーモン (ユーザーアプリケーション間で必要な一般的なIPC) があります。 またメッセージバスは、一般的な1対1によるメッセージ送受信のフレームワーク上にビルドされます。 これは二つのアプリケーション間にて (メッセージバスデーモンを介さずに) 直接通信するために利用されます。

概算ビルド時間: 0.1 SBU
必要ディスク容量: 19 MB

8.77.1. D-Bus のインストール

D-Bus をコンパイルするための準備をします。

./configure --prefix=/usr                        \
            --sysconfdir=/etc                    \
            --localstatedir=/var                 \
            --runstatedir=/run                   \
            --enable-user-session                \
            --disable-static                     \
            --disable-doxygen-docs               \
            --disable-xml-docs                   \
            --docdir=/usr/share/doc/dbus-1.14.10 \
            --with-system-socket=/run/dbus/system_bus_socket

configure オプションの意味

--runstatedir=/run--with-system-socket=/run/dbus/system_bus_socket

これは PID ファイルとシステムバスソケットの場所を設定するものであり、かつての /var/run ではなく /run とします。

--enable-user-session

これは D-Bus の各ユーザー向けサービスやソケットユニットファイルを Systemd 用にインストールするようにします。 これは LFS の基本インストールにとっては必要のない(ただし害もない)ものです。 ただし BLFS において systemd に PAM サポートを含めて再ビルドする際には有用となります。

パッケージをコンパイルします。

make

ビルド結果をテストする場合は以下を実行します。

make check

テストの多くは、LFS に含まれない別のパッケージを必要とするため、無効化されます。 テストスイートの実行を分かりやすく説明する手順が BLFS ブック に示されています。

パッケージをインストールします。

make install

シンボリックリンクを生成します。 D-Bus と systemd が同一の machine-id ファイルを利用できるようにするためです。

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

8.77.2. D-Bus の構成

インストールプログラム: dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor, dbus-run-session, dbus-send, dbus-test-tool, dbus-update-activation-environment, dbus-uuidgen
インストールライブラリ: libdbus-1.so
インストールディレクトリ: /etc/dbus-1, /usr/include/dbus-1.0, /usr/lib/dbus-1.0, /usr/share/dbus-1, /usr/share/doc/dbus-1.14.10, /var/lib/dbus

概略説明

dbus-cleanup-sockets

ディレクトリ内に取り残されたソケットを削除します。

dbus-daemon

D-Bus メッセージバスデーモン。

dbus-launch

シェルスクリプトから dbus-daemon を起動します。

dbus-monitor

D-Bus メッセージバスを通じたメッセージ送信を監視します。

dbus-run-session

シェルスクリプトから 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 関数を提供します。