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.RealtimeKit1
しbusctl monitor
ます。 - …マスク
rtkit-daemon.service
このようなシステム化されたサービスシステム自体Desktop Busエージェントが文書化されていない特別なAPIリクエストを介してアクティブになっていても、アクティブ化方法がわかりません。
system-control
reset
これが、動詞(現在の有効化/無効化状態に応じてサービスの開始/停止)を使用し、代わりに交換dbus-daemon-launch-helper
呼び出しを使用する理由の1つです。system-control reset
system-control activate
追加読書
- ジョナサンデボインポラード(2016)。デスクトップバス(D-Bus)バスの起動を防止 。何かを食べる。ソフトウェア。
- ジョナサン・デ・ボーインポラード。 「
reset
。」system-control
。 スナックガイド。 - ジョナサン・デ・ボーインポラード。
dbus-daemon-launch-helper
。 スナックガイド。
答え2
頑張ってください:
sudo mv /usr/bin/dbus-daemon /usr/bin/dbus-daemonx
sudo ln -s /bin/true /usr/bin/dbus-daemon
元のファイルを削除してパッケージを再インストールして復元することもできます。
他の不要なアイテムにも同じ方法が適用されます^^