web-dev-qa-db-ja.com

コンピュータが仮想コンソールの下にあるときにPower Manager設定が機能しないのはなぜですか?

仮想コンソール(またはその後に表示されるもの)を使用しているときに電源イベントが期待どおりに機能しない理由を知りました Ctrl-Alt-F1 と呼ばれます)。

ラップトップを閉じたときにスリープ状態になるようにラップトップを設定しましたが、グラフィカルインターフェイスでは問題なく動作します。しかし、仮想コンソールに切り替えると、ふたを閉じただけで画面がオフになります。

どのようにして可能か、そのような低レベルのものはデーモンによって制御され、私がいるインターフェイスのタイプに依存しないと思いましたか?

5
vava

答えは/etc/acpi/lid.shにあります。ふたを閉じるようなことに応答するACPIデーモンがあることは正しいです。ただし、スクリプトの上部近くの行を見ると、次のようになります。

if [ `CheckPolicy` = 0 ]; then exit; fi

すべてをキャンセルする行が表示されます。 CheckPolicyは、Gnome Power Managerのようなものが現在のコンソールで実行されているかどうかを確認します。もしそうなら、それは打ち切り、パワーマネージャーにそれを処理させます。

したがって、GNOMEがアクティブなセッションである場合、Gnome Power Managerがふたを処理します。コンソールがアクティブなセッションである場合、ACPIデーモンがふたを処理します。 lid.shスクリプトの残りの部分を読むと、画面に何も表示されていないことがわかります。

5

おそらくconsolekitに関連しています。 Consolekitは、ログインしているユーザーとマルチユーザーシステムの処理場所を追跡します。 vt gettyにログインしても、おそらくconsolekitに登録されません。 ck-list-sessionsで確認できます。 G-p-mは、pulseaudioと同じようにCKに要求します。 vtに切り替えると、音声が途切れる。

0
towolf