web-dev-qa-db-ja.com

電源ボタンが押されたときにスクリプトを実行する

電源ボタンを押すと、スクリプトを実行したい。このシナリオのために、file.shと言います。したがって、電源ボタンを押すと、file.shを実行し、file.shのみを実行したいと思います。

私が見つけた解決策のほとんどは/etc/acpi/powerbtn.shの編集を含んでいましたが、そのファイルは私のシステムに存在しません。 (Ubuntu 19.04を実行しています)作成して標準コンテンツを入力しようとしましたが、機能しませんでした。また、acpi_listenでキーの押下をリッスンしようとしましたが、キーを押しても何も起こらなかったので、間違っただけなのか、何をしたのかわかりません。 xevを使用してみましたが、キーイベントを取得しましたが、電源ボタンを押しても何も登録されませんでした。

誰かがこれを達成する方法、または私が間違っていることを知っていますか?

P.S.言及する必要がありますが、コマンドラインで実行できるソリューション、理想的にはサードパーティのソフトウェアがないソリューションをお勧めします。ありがとう。


同様の質問ですが、解決策はありません。

https://askubuntu.com/questions/473693/run-a-script-when-power-button-is-pushed

基本的に、ここで行ったことと同等のLinuxを探しています。

https://stackoverflow.com/questions/12434863/executing-a-batch-script-on-windows-shutdown


編集:これは私がsyslogから得たものです:

Feb 9 13:01:01 joe-Aspire-E5-576G gnome-session-binary[1624]: Entering running state

そして、これはイベントでの私のファイルです:

event=button/power action=/home/jeremiahgage/Desktop/test/sc.sh `

1
ragnvaldr.js

あなたの質問はman acpidの-​​[〜#〜] example [〜#〜]セクションで答えられます。私はあなたのニーズに適応します。

  • rootとして、次のような内容の/etc/acpi/events/powerという名前のファイルを作成します。
event=button/power
action=/usr/bin/logger "ACPI_POWER_BTTN_TEST: %e"
  • 次に、service acpid restartを実行します。

  • syslogファイルをこの/usr/bin/tail -f /var/log/syslogのようにテールします

  • 電源ボタンを押して、syslogにテストメッセージを表示します。

  • powerファイルのaction=行を適切に変更して、カスタムスクリプトを指すようにします。

1
FedonKadifeli