追加読書

追加読書

rtkit-daemon最近、私はDebian 10.4コンピュータで実行されているプロセスがそのコンピュータのカスタムサーバーアプリケーションを妨げる可能性があることを発見しました。だから私は次のようにリアルタイムファミリデーモンを無効にしたいと思います。

$ sudo systemctl stop rtkit-daemon.service
$ sudo systemctl disable rtkit-daemon.service

これにより、プロセスが正しく停止(および無効)されますrtkit-daemon。しかし、しばらくして再度実行されることを確認し、システムログに次の行が見つかりました。

Jun 12 16:15:12 box-63 dbus-daemon[453]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.6746' (uid=1000 pid=11857 comm="python pipecheck.py")
Jun 12 16:15:12 box-63 systemd[1]: Starting RealtimeKit Scheduling Policy Service...
Jun 12 16:15:12 box-63 dbus-daemon[453]: [system] Successfully activated service 'org.freedesktop.RealtimeKit1'
Jun 12 16:15:12 box-63 systemd[1]: Started RealtimeKit Scheduling Policy Service.

これがpython pipecheck.py私たちのカスタムアプリケーションです。
D-Busが当初、私たちのアプリケーション用のリアルタイムスイートをリリースするのはなぜですか?

とにかく、dbus-daemon再リリースされたようですrtkit-daemon
これを防ぎ、ライブスイートデーモンを永久に無効にするにはどうすればよいですか?

ベストアンサー1

デスクトップバスの活性化へようこそ!これは痛いことなので避けてください。

デスクトップバスクライアント(一種)は、デスクトップバスエージェントorg.freedesktop.RealtimeKit1にD-Busサーバーと通信するように要求します。プログラムが実行されると、rtkit-daemonこの名前でD-Busエージェントに登録されます。実行されていない場合、エージェントは呼び出します。Dバスアクティブ

この場合、クライアントがD-Busエージェントに問い合わせると、エージェントはファイルで指定された内容を調べますorg.freedesktop.RealtimeKit1.service。 (これはいいえシステムサービスユニットファイルですが、D-Bus設定ファイルを含む/usr/{local/,}share/dbus-1/system-services/D-Busもこの.service拡張を使用します。 )エージェントは、このファイルを介してsystemdシステムでのみorg.freedesktop.RealtimeKit1サーバーがsystemdサービスとして管理されていることを知りますrtkit-daemon.service

ブローカーは、systemd文書化されていない特別な方法を使用して同じデスクトップバスを介して会話します。org.freedesktop.systemd1.Activator Dバスアクティベーションが必要なサービスの名前rtkit-daemon.service システムメッセージを含むサービスActivationRequest。この文書化されていないアクティベーション関数概念なしサービスは有効な場合にのみ有効になります。それいつも無効にしてもサービスを有効にしてください。

したがって、皮肉なことに、rtkit-daemon明白な無効化方法(disableコマンド)を使用して無効にすることはできません。代わりに、次のことができます。

  • ... D-Busサーバーを有効にする方法をorg.freedesktop.RealtimeKit1.service含まない独自のファイルでこのファイルを上書きします。org.freedesktop.RealtimeKit1
  • ...D-Busクライアントが何を要求しているのかを調べて停止org.freedesktop.RealtimeKit1busctl monitorます。
  • マスクrtkit-daemon.serviceこのようなシステム化されたサービスシステム自体Desktop Busエージェントが文書化されていない特別なAPIリクエストを介してアクティブになっていても、アクティブ化方法がわかりません。

system-controlresetこれが、動詞(現在の有効化/無効化状態に応じてサービスの開始/停止)を使用し、代わりに交換dbus-daemon-launch-helper呼び出しを使用する理由の1つです。system-control resetsystem-control activate

追加読書

おすすめ記事