Ubuntu で整理されたお陰かどうか分からないが、Power Manager が整理されつつある。そろそろ、Debian/etch でも使えるんでないかとやってみる。
apt-get install acpid acpi-support gnome-power-manager
すると、Gnomeの通知スペースにバッテリ状況を表す電源管理アイコンが表示される。またメニューに出てくる項目を選択すると サスペンド/ハイバネーションが出来るようになる。
で、メニューから選択すると、、、、なんかエラー表示がでて動かない。
エラーの理由が全く示されていないだけでなく、どこにも手掛かりになる情報が示されず、、、FAQのページを確認することを促される。
対処の方法が分かりませんって状態になってしまった。
どっかのログファイルにでも追加情報が出ているのかと思ったが、何もない。 なんとWin○○sっぽくなったのだろうか。
一晩調べてみて、熟考の結果うまく動くようになった。
従来の流れでは、
(acpiのイベント)
=> acpid でフック
=> イベント種別から /etc/acpid/events 以下の設定でスクリプトを選択
=> 大抵 /etc/acpid/suspend.sh が呼ばれる。
なので、 /etc/acpid/suspend.sh を自分のPCに合わせて変更する。
Gnome Power Manager を使う場合は、
(acpiのイベント)
=> acpid でフック
=> acpi-support パッケージにより、キーイベントに変換され、/dev/inputXに渡される。
=> Xサーバ君がキーイベントを受ける
=> gnome-power-manager がキーイベントを受け取り?、
ディスクトップのユーザ設定に応じて処理を決めて、
サスペンド/ハイバネーションの要求を dbus 経由でHALに出す。
=> HAL で、スクリプト
/usr/lib/hal/scripts/linux/hal-system-power-suspend-linux を呼び出す
=> 上記のスクリプトから、acpi-support で作成された /etc/acpid/suspend.sh が呼ばれる
acpi-support を作ってくれる人が頑張ってる限り、なんもしなくても大丈夫なんだなぁ。
HAL側のサスペンド/ハイバネーションのインタフェースorg.freedesktop.Hal.Device.SystemPowerManagement を 呼び出す為には、rootユーザ権限かpowerdevグループ権限が必要である。これは、Debian特有っぽい。
gnome-power-manager がこいつの問題に引っかかって、うまくサスペンドしなかったらしい。 次のコマンドをユーザ権限でサスペンド出来なければ、権限の問題っす。
dbus-send --system --print-reply --reply-timeout=2000 \
--dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Suspend
こいつは、FAQの2番目に上げられている。でも、FAQに載ってるメッセージは出てこないぞ、、、。
対処は、powerdev グループにユーザを追加して再起動。。。ちょっと快適
0 件のコメント:
コメントを投稿