Hatena::ブログ(Diary)

masakiの雑記帳

2009-11-28

acpidの設定

acpidの設定について。調べ方と設定手順。

調べ方

デバッグモードでacpidを起動すると、acpidが検知したACPIイベントの情報が逐次標準エラー出力に表示される。この機能を用いて、捕捉したいイベントの名前を特定することができる。

デバッグモードでの起動手順は次の通り。ダミーの空ディレクトリを設定ディレクトリとして読ませることで、イベントに対するアクションを行わないようにする。

# mkdir /tmp/empty
# acpid -d -l -c /tmp/empty

例えば電源ボタンを押すなど適当にイベントを起こすと、イベント名などの情報が出力される。例えば次の通り。

(電源ボタン押す)
acpid: received input layer event "button/power PBTN 00000080 00000000"
...
acpid: completed input layer event "button/power PBTN 00000080 00000000"
(液晶パネル閉じる)
acpid: received input layer event "button/lid LID close"
...
(液晶パネル開く)
acpid: received input layer event "button/lid LID open"
...

イベント名はハードウェア構成によって結構ばらばららしい。ただ、メーカが同じならある程度は同じになるのかな?

設定手順

acpidは、デフォルトでは /etc/acpi/events/ 内のすべてのファイルを設定ファイルとして読み込む。各設定ファイルは次のような構成になっている。

event=EVENT-NAME
action=ACTION

各ファイルにはイベント名(EVENT-NAME)とアクション(ACTION)の組を1つ記述する。イベント名は前述の通り。アクションには実行可能ファイルを指定する。

ディストリビューション次第だが、例えばDebianacpi-supportパッケージには /etc/acpi/events/ の設定ファイル群と /etc/acpi/ のスクリプト群が入っている。雛形としてインストールして、手元の環境に合わせてEVENT-NAMEとACTIONの値を調整すればよい。

例えば "button/sleep" というイベントを検知したら "/etc/acpi/sleepbtn.sh" を実行するようにしたいなら、次の通り。

event=button/sleep
action=/etc/acpi/sleepbtn.sh

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証