8.77. D-Bus-1.16.0

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

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

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

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

mkdir build
cd    build

meson setup --prefix=/usr --buildtype=release --wrap-mode=nofallback ..

meson オプションの意味

--wrap-mode=nofallback

このスイッチを指定することで、テスト実施時において meson が Glib パッケージのコピーをダウンロードしないようにします。

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

ninja

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

ninja test

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

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

ninja 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.16.0, /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 関数を提供します。