web-dev-qa-db-ja.com

実行中のプロセスをチェックせずに、動作しているpolkitエージェントをチェックする方法はありますか?

デスクトップ環境にとらわれない方法で使用可能なpolkitエージェントがあるかどうかを確認する必要があります。

現在、私が行っているのは、次のようなコードを使用して、polkitエージェントが実行されているかどうかを確認することです。

ps aux | grep some-polkit-agent

どこ some-polkit-agent 多分:

  • polkit-gnome-authentication-agent-1(gnome2およびgnome3-フォールバックの場合)
  • polkit-kde-authentication-agent-1(kdeの場合)
  • polkit-mate-authentication-agent-1(配偶者用)
  • lxpolkit(lxdeの場合)

「フォールバックなし」のgnome3(gnome-Shell)には、gnome-Shellプロセス自体の中に独自のpolkitエージェントがあるため、ps-grepを実行できません。私が想定しているのは、gnome-Shellが実行されている場合、polkitエージェントが配置されています。

この問題は、システムでhidepidが有効になっている場合に発生します( http://www.linux-dev.org/2012/09/hide-process-information-for-other-users/を参照 =)。このセキュリティ対策により、psは、たとえ存在していても、実行中のpolkitエージェントを表示しません。

使用可能なpolkitエージェントをチェックするためのより良い方法はありますか?

6
ivanalejandro0

エージェントは、dbusを介して自分自身をpolkit機関に登録します。彼らのdbusトラフィックを傍受できれば、どのエージェントが登録されているかを正確に知ることができます。

1
Umut