dbus-broker-launch - D-Bus メッセージ・ブローカーのランチャーである。(D-Bus メッセージを仲介するアプリケーションを起動するアプリケーションである。)
dbus-broker-launch [ OPTIONS ] dbus-broker-launch --version dbus-broker-launch --help
dbus-broker-launch は、dbus-broker のランチャーであり、D-Bus のメッセージ・バスを起動し管理するものである。このランチャーは、D-Bus の参考実装である dbus-daemon(1) と完全な互換性を持つよう狙って開発されており、同一の設定構文(configuration syntax)と実行環境を使用することができる。
dbus-broker-launch の各インスタンスは、それぞれただ1つのメッセージ・バスを管理する。各メッセージ・バスは独立している。設定ファイル(configuration file)は、コマンド・ラインを介して指定することもできるし、/usr/share/dbus-1/ からデフォルトのものを読み込むこともできる。ほとんど全ての属性(configuration attribute)が使用できる。設定構文(configuration syntax)の詳細については dbus-daemon(1) を参照。
以下のコマンドライン・オプションを使用することができる。ここに挙げられていないオプションを渡した場合、このランチャーは起動を拒否し、エラーで終了する。
デフォルトでは、dbus-broker-launch はシステム・ジャーナル(system journal)にメッセージを記録する。メッセージには多数のメタデータが付加されるため、追加のジャーナル・フィールド(journal-field)を確認しなければならない。人間用(human-readable)のログ・メッセージは、意図的に短くなっている。
起動時と終了時、このランチャーは、設定ファイルとサービス定義(どちらも解析済みのもの)に関する情報が入っている初期メッセージを記録する。その他のログ・メッセージは、dbus-broker(1) に由来するものを除いて生成されない。
dbus-daemon(1) と異なり、dbus-broker-launch は全てのサービスを systemd のユニットとしてアクティベートする。systemd ユニットがすでに存在するサービスは通常どおりにアクティベートされるけれども、systemd ユニットが無いサービスは一時的なユニット(transient unit)としてアクティベートされ、この場合、その場限りの(ad-hoc)ユニット・ファイルが実行時に生成される。これによって全てのサービスが「十分に定義された環境」の中で稼働するようになる。
--scope という変数を用いて、サービスをアクティベートするためにこのランチャーがどの systemd インスタンスを使用するのかを指定する。値が system である場合、このランチャーは systemd のシステム・インスタンスを使用する。値が user である場合、代わりにユーザ・インスタンスを使用する。
また、選択したスコープは、コマンド・ラインで設定ファイル(configuration file)を何も指定しなかった場合にどの設定ファイルを使用するのかをも決定する。
選択したスコープは、これ以外のものには影響を与えない。選択したスコープは、読み込んだサービス定義の「アクティベーションの環境」を決めるためにしか使われない。アクティベート可能なサービスが宣言されていない場合、このスコープ指定は何の効果も持たない。
クライアントからの接続を待ち受けるためのソケットは、dbus-broker-launch の親プロセスが作成してこれに渡さなければならない。プロトコルは、systemd.socket(1) で定めているソケット・アクティベーションの仕様に沿ったものでなければならない。今のところ、単一ソケットにしか対応していない。
設定ファイル(the configuration)の中の更なる <listen>%path%</listen> 属性は無視される。
このランチャーには、自身の設定ファイル(configuration file)に対する読み取り権限が必要である。これ以外の権限は不要である。<user>%user%</user> という設定属性(configuration attribute)を使用する場合、このランチャーは、dbus-broker を実行するときに権限を抛棄することになる。
アクティベート可能なサービスが宣言されている場合、このランチャーは対応する systemd インスタンスへアクセスする必要がある。このランチャーは、一時的なユニット(transient unit)を生成することができなければならず、また、サービス定義で宣言されているユニットを管理することができなければならない。
Package information: