systemdでスクリプトを実行するために電源ボタンの終了動作を変更する方法

systemdでスクリプトを実行するために電源ボタンの終了動作を変更する方法

システムをシャットダウンするのではなく、カスタムスクリプトを実行するようにdebian 10 systemdで電源ボタンのシャットダウン動作を変更する方法は?

この問題はacpiで処理されますが、/ etc / acpiでスクリプトを編集できます。これまで私が見つけた唯一の提案は、さまざまな電源関連バイナリを私のスクリプトに置き換えることです。

バイナリを交換せずにこれを行う方法はありますか?

ベストアンサー1

それはあなたがしたいことに依存します。

  • 特定のジョブの実行中に一時的に停電を防ぐ必要がある場合にのみ、これを参照してくださいsystemd-inhibit。このように、スリープ、一時停止などを防ぐこともできます。また、一時的に(プログラムの実行中に)systemdに電源ボタンを無視するように指示することで、他のプログラムがそのボタンで機能するようにすることもできます。

  • 終了する前に追加のコードを実行したい場合は、サービスを開始できますpoweroff.targetshutdown.targetとを検討してくださいreboot.target。 (電源ボタンの機能を完全に変更したい場合は、引っ張らないようにpoweroff.target変更してください。)systemd-poweroff.servicesystemctl poweroffpoweroff

  • systemdの電源ボタン処理を完全に無効にするには、まず通常のログインなど、実際にログインしているかどうかを知る必要があります。HandlePowerKeyのオプションで/etc/systemd/logind.conf無効にすることができます(に設定ignore)。その後、他のプログラムからキーストロークを受け取ることができます。

おすすめ記事