複数のログインセッションを通じてマシンにアクセスします。セッションの存続期間は重複する場合と重複しない場合があります。私の場合、これらのログインセッションは現在SSHを介して常に行われていますが、ローカルセッションも処理したいです。
これらのセッションでD-Busが必要になることがありますが、GVFSを使用するために、これらのログインセッションで同じD-Busセッションを共有したいです。
これを行うための推奨される方法は何ですか?気付いていないかもしれないD-Busの使用を中断したくありません。私は使用を検討しました
export $(dbus-launch --autolaunch $(cat /var/lib/dbus/machine-id))
しかし(Ubuntu 12.04の時点で)これは正しくないようです:
- これにはXセッションが必要ですが、私のSSHセッションはXディスプレイを転送する場合と転送しない場合があり
$DISPLAY
ます。 - Xディスプレイが利用できない場合
dbus-launch
、「自動起動エラー:X11初期化に失敗しました。」と文句を言い、デーモンを起動しません。 dbus-launch
「というmanページ状態--autolaunch
オプションは、内部実装の詳細と考えられています(...)。とにかくlibdbus実装以外で使用する本当の理由はありません。」
DOES dbus-launch
またはD-バススイートのサポート内の別のツールが自動的に実行を検出dbus-daemon
し、それに接続していますか?~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-${DISPLAY#*:}
D接続がX接続で開始された場合に必要な情報はありますが、X接続が利用できない場合はどこにも保存されていないようです。
独自のD-Busセッションファイルを作成する必要がありますか?その場合、~/.dbus/session-bus
ディレクトリ内のファイルを使用する必要がありますか?パスは/var/lib/dbus/machine-id
信頼性が高く、移植可能ですか?