これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド Busctl です。
プログラム:
NAME
busctl - バスをイントロスペクトする
SYNOPSIS
バスコントロール [オプション...] [コマンド] [NAME...]
DESCRIPTION
バスコントロール D-Bus バスのイントロスペクトと監視に使用できます。
OPTIONS
次のオプションが理解されます。
--アドレス=ADDRESS
で指定されたバスに接続します ADDRESS どちらかに適切なデフォルトを使用する代わりに、
システムまたはユーザーバス (「 - システム & - ユーザー オプション)。
--ショーマシン
ピアのリストを表示する場合、ピアが接続するコンテナの名前を含む列を表示します。
に属しています。 見る systemd-machined.serviceとします。
- 個性的
ピアのリストを表示するときは、(形式の)「一意の」名前のみを表示します。
":数.数")。
- 獲得
の反対 - 個性的 — 「よく知られた」名前のみが表示されます。
--アクティブ化可能
ピアの一覧を表示する際、実際に起動されていないピアのみを表示します
まだですが、アクセスすると自動的に開始される可能性があります。
--一致=MATCH
交換中のメッセージを表示する場合、一致するサブセットのみを表示します MATCH.
--size =
と一緒に使用する場合 キャプチャー コマンドで、キャプチャする最大バス メッセージ サイズを指定します。
(「スナップレン」)。 デフォルトは 4096 バイトです。
- リスト
と一緒に使用する場合 ツリー コマンドでは、ツリーの代わりにオブジェクト パスのフラット リストが表示されます。
- 静かな
と一緒に使用する場合 コール コマンドを実行すると、応答メッセージのペイロードの表示が抑制されます。
このオプションが指定されていても、返されたエラーは引き続き出力されることに注意してください。
ツールはプロセスの終了コードで成功または失敗を示します。
-詳細
と一緒に使用する場合 コール or プロパティの取得 コマンドでは、より詳細な出力が表示されます
形式でダウンロードすることができます。
--expect-reply=BOOL
と一緒に使用する場合 コール コマンド、かどうかを指定します バスコントロール の完了を待つことになる
メソッド呼び出し、返されたメソッド応答データを出力し、成功を返すか、
プロセス終了コードによる失敗。 これが「no」に設定されている場合、メソッド呼び出しは次のようになります。
が発行されたが応答が期待されない場合、ツールはすぐに終了するため、
応答は表示されますが、終了コードによって成功または失敗は返されません。 に
応答メッセージ ペイロードの出力のみを抑制するには、使用します。 - 静かな その上。 デフォルトは
"はい"。
--auto-start=BOOL
と一緒に使用する場合 コール コマンド。メソッド呼び出しを暗黙的に行うかどうかを指定します。
呼び出されたサービスがまだ実行されていないが、実行されるように構成されている場合は、呼び出されたサービスをアクティブ化します。
自動で開始されました。 デフォルトは「はい」です。
--allow-interactive-authorization=BOOL
と一緒に使用する場合 コール コマンド。サービスが強制するかどうかを指定します。
セキュリティ ポリシーが
このために設定されています。 デフォルトは「はい」です。
--timeout =SECS
と一緒に使用する場合 コール コマンド。メソッド呼び出しを待機する最大時間を指定します。
完了。 時間単位が指定されていない場合は、秒とみなされます。 通常のその他のユニットは、
も理解できました (ms、us、s、min、h、d、w、month、y)。 このタイムアウトは、
適用する場合 --expect-reply=いいえ ツールは応答メッセージを待機しないため、使用されます。
それから。 指定しない場合、または 0 に設定した場合は、デフォルトの「25 秒」が想定されます。
--augment-creds=BOOL
資格情報データがレポートされるかどうかを制御します。 リスト or status で増強されます
/proc からのデータ。 これをオンにすると、表示されるデータが矛盾する可能性があります。
から読み取られたデータ / proc 残りの資格情報よりも新しい可能性があります
情報。 デフォルトは「はい」です。
- ユーザー
発信元のユーザーのサービス マネージャーではなく、そのユーザーのサービス マネージャーに相談してください。
システム。
- システム
システムのサービスマネージャーに相談してください。 これは暗黙のデフォルトです。
-H, --host =
リモートで操作を実行します。 ホスト名、またはユーザー名とホスト名を指定します
「@」で区切って接続します。 ホスト名には、オプションで接尾辞を付けることができます
「:」で区切られたコンテナ名。これは、上の特定のコンテナに直接接続します。
指定されたホスト。 これはSSHを使用してリモートマシンマネージャーインスタンスと通信します。
コンテナ名は次のように列挙できます 機械制御 -H HOST.
-M, --マシン=
ローカルコンテナ上で操作を実行します。 接続するコンテナ名を指定します。
-ポケットベルなし
出力をポケットベルにパイプしないでください。
-凡例なし
凡例、つまりヒントを含む列ヘッダーとフッターを印刷しないでください。
-h, - 助けて
短いヘルプテキストを出力して終了します。
- バージョン
短いバージョンの文字列を出力して終了します。
コマンド
次のコマンドが理解されます。
リスト
バス上のすべてのピアをサービス名別に表示します。 デフォルトでは、一意と
有名な名前ですが、これは変更される可能性があります。 - 個性的 & - 獲得 スイッチ。
これは、コマンドが指定されていない場合のデフォルトの動作です。
status [サービス]
バス サービスのプロセス情報と資格情報を表示します (サービスによって指定されている場合)
一意の名前または既知の名前)、プロセス (数値 PID で指定されている場合)、または
バスの所有者 (パラメーターが指定されていない場合)。
モニター [サービス...]
交換中のメッセージをダンプします。 もしも サービス が指定されている場合は、これとの間のメッセージを表示します
ピア。既知の名前または一意の名前によって識別されます。 それ以外の場合は、すべてのメッセージを
バス。 Ctrl-C を使用してダンプを終了します。
キャプチャー [サービス...]
そして モニター ただし、出力は pcap 形式で書き込まれます (詳細については、 リブキャップ
File フォーマット[1]の説明。 STDOUT への出力を必ずファイルにリダイレクトしてください。
のようなツール wireshark(1) は、生成されたファイルを分析して表示するために使用できます。
ツリー [サービス...]
XNUMX つ以上のサービスのオブジェクト ツリーを表示します。 もしも サービス が指定されている場合、オブジェクトを表示
指定されたサービスのみのツリー。 それ以外の場合は、すべてのサービスのすべてのオブジェクト ツリーを表示します
少なくとも XNUMX つの有名な名前を取得したバスで。
内省する サービス 目的 [INTERFACE]
指定されたオブジェクト (識別された) のインターフェイス、メソッド、プロパティ、およびシグナルを表示します。
指定されたサービス上でそのパスによって)。 インターフェース引数が渡された場合、出力は
指定されたインターフェイスのメンバーに限定されます。
コール サービス 目的 INTERFACE METHOD [署名 [ARGUMENT...]]
メソッドを呼び出して応答を表示します。 サービス名、オブジェクトパス、インターフェースを受け取ります
名前とメソッド名。 パラメータがメソッド呼び出しに渡される場合、署名
string は必須であり、その後に引数が続き、個別に文字列としてフォーマットされます。 ために
使用されるフォーマットの詳細については、以下を参照してください。 返されたデータの出力を抑制するには、
使用 - 静かな オプションを選択します。
プロパティの取得 サービス 目的 INTERFACE PROPERTY...
XNUMX つ以上のオブジェクト プロパティの現在の値を取得します。 サービス名を取得します。
オブジェクトのパス、インターフェイス名、プロパティ名。 複数のプロパティを指定できます。
XNUMX 回のみ。その場合、値は で区切られて次々に表示されます。
改行。 デフォルトでは、出力は簡潔な形式になります。 使用 -詳細 詳細については
精巧な出力形式。
セットプロパティ サービス 目的 INTERFACE PROPERTY 署名 ARGUMENT...
オブジェクトのプロパティの現在の値を設定します。 サービス名、オブジェクトのパス、
インターフェース名、プロパティ名、プロパティ署名、その後に続くパラメータのリスト
文字列としてフォーマットされます。
助けます
コマンド構文のヘルプを表示します。
パラメータ フォーマット
コール & セットプロパティ コマンドは署名文字列とそれに続くリストを受け取ります。
文字列としてフォーマットされたパラメータ (D-Bus 署名文字列の詳細については、 タイプ
章 of Dバス 仕様[2])。 単純型の場合、次の各パラメータは
署名は単に文字列としてフォーマットされたパラメータの値である必要があります。 正のブール値
値は、「true」、「yes」、「on」、または「1」の形式で指定できます。 負のブール値は次のようになります。
「false」、「no」、「off」、または「0」として指定します。 配列の場合、数値の数値引数
エントリの後にエントリを指定する必要があります。 バリアントの場合、
内容を指定し、その後に内容を指定する必要があります。 ディクショナリと構造体の場合、
その内容を直接指定するものとする。
たとえば、
ジョーオール
単一の文字列「jawoll」の書式設定です。
3 Hello world foobar として
これは、「hello」、「world」、「foobar」という XNUMX つのエントリを含む文字列配列のフォーマットです。
a{sv} 3 One s Eins Two u 2 Yes b true
文字列をバリアントにマップする辞書配列の書式設定であり、XNUMX つの要素で構成されます。
エントリ。 文字列「One」には文字列「Eins」が割り当てられます。 文字列「Two」には、
32 ビットの符号なし整数 2。文字列「Yes」には正のブール値が割り当てられます。
なお、 コール, プロパティの取得, 内省する コマンドもこの中に出力を生成します
返されるデータの形式。 この形式は簡潔すぎて簡単に理解できない場合があるため、
理解しました、 コール & プロパティの取得 コマンドはより冗長な複数行を生成する場合があります
を渡されたときの出力 -詳細 オプションを選択します。
例
例 1. 書きます & 読む a プロパティ
次の XNUMX つのコマンドは、まずプロパティを書き込み、次にそれを読み取ります。 物件は
「org.freedesktop.systemd1」サービスの「/org/freedesktop/systemd1」オブジェクトで見つかります。
プロパティの名前は、「org.freedesktop.systemd1.Manager」の「LogLevel」です。
インターフェース。 プロパティには単一の文字列が含まれます。
#busctl set-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel のデバッグ
#busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel
「デバッグ」
例 2. 簡潔 & 冗長 出力
次の XNUMX つのコマンドは、文字列の配列を含むプロパティを読み取ります。
簡潔な形式で表示し、その後に詳細な形式で表示します。
$busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager 環境
as 2 "LANG=en_US.UTF-8" "PATH=/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin"
$busctl get-property --verbose org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager 環境
ARRAY "s" {
文字列 "LANG=en_US.UTF-8";
文字列「パス=」/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin";
};
例 3. 呼び出す a 方法
次のコマンドは、
「/org/freedesktop/systemd1」オブジェクトの「org.freedesktop.systemd1.Manager」インターフェース
「org.freedesktop.systemd1」サービスに、XNUMX つの文字列「cups.service」と「cups.service」を渡します。
"交換"。 メソッド呼び出しの結果として、単一のオブジェクト パス パラメーターが受信され、
示された:
#busctl call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager StartUnit ss "cups.service" "replace"
o "/org/freedesktop/systemd1/job/42684"
onworks.net サービスを使用してオンラインで Busctl を使用する