acpid - プラグを抜いた後、休止状態に切り替える

acpid - プラグを抜いた後、休止状態に切り替える

私はLinuxプログラミング(特にlubuntu)が初めて、古い、捨てられたノートブックを私が望む方法で動作させるためのプロジェクトを進めています。 acpiとacpidがインストールされていてacpiコマンドを実行すると、ラップトップが接続されているか(充電中)、または切断されているか(放電中)がわかります。

今、あなたのラップトップが放電すると、自動的にスリープモードに切り替えたいと思います。私の最初のアイデアは、30秒ごとにacpiをポーリングし、「discharge」という単語に応答するたびにスリープコマンドを実行するスクリプトを書くことでした。しかし、私はacpidがイベント中心であるため、使用する方が良いツールであることを知っています。プラグを抜いた後、ノートパソコンを休止状態にする方法についての資料が見つからないようです。どんな提案がありますか?

答え1

デーモンはacpidACPIサブシステムを介してバッテリーイベントを受信する必要があります。ノートブックを取り外し/接続すると、関連するバッテリーイベントが表示されます。これらのイベントは、シャットダウン/一時停止/休止状態などの操作に関連付けることができます。

/var/log/messagesまず、ノートブックを取り外した状態で関連ログファイルを確認するか、関連ログファイルを確認して確認してください。次のようなものが必要です

... ACPI action undefined: ...

何もない場合は、acpi_listenacpidに接続してイベントを受け取るコマンドを試すことができます。

/etc/acpi/eventsその後、バッテリイベントディレクトリの下に一般的なイベントハンドラを設定できます。たとえば、battery.conf次の内容でファイルを作成します。

event=battery.*
action=/etc/acpi/actions/battery.sh

これは、すべてのバッテリイベントがスクリプトによって処理される必要があることを示しますbattery.sh。このスクリプトは、ファイルで使用可能なバッテリーの状態を監視します/proc/acpi/battery/*/state。特にラインをチェックしてください「充電中」に変更する必要があります「解雇する」ラップトップを抜くとき「充電中/充電済み」また差し込むと。

この情報に基づいて、イベントハンドラで休止状態コマンドを実行できますbattery.sh。また、次のような他の有用な例を見つけることができます。フラッグハブ

関連情報