dbusサービスは、まさにそのためのものです...わかりました、それはまさにそのために使用できます:-)。ユーザーごとのdbusデーモンは、ユーザーがデスクトップ環境にログインしたときに開始され、ユーザーがログアウトしたときに終了します(dbus-launch
およびのマニュアルページを参照--exit-with-session
)。dbusサービスは、dbusインスタンスと一緒に、またはサービスのインターフェースが初めてdbusを介して呼び出されたときに開始できます。各ユーザーは、ユーザーのホームの非表示ディレクトリで、またはでグローバルに定義された独自のdbusサービス仕様を持つことができます/etc
。多くのドキュメントとリファレンス実装については、freedesktopのdbusホームページを参照してください。
最近は、Debianベースのディストリビューションのみを使用しています。すべてのスクリプトに/etc/X11/Xsession.d
は、選択したデスクトップ環境を起動するコマンドとして評価される文字列を非常に頻繁に変更するスクリプトがあります。コマンドの前にdbus wrapperを付加するdbus用のスクリプトが1つありますdbus-launch
。このラッパーはdbus-serverを起動し、少なくともバニラDebianでは(そして「すべてのDebianベースのディストリビューションで」と言っても構わないと思います)dbus-launch
、オプションが与えられます--exit-with-session
。
ユーザーがdbusサービスにログインしているときに実行したいプロセスをラップでき、IIRC dbusが自動的にサービスを終了してから終了します。