萌えハッカーニュースリーダー

2025/07/31 10:03 How to trigger a command on Linux when disconnected from power

出典: https://dataswamp.org/~solene/2025-05-31-linux-killswitch-on-power-disconnect.html
hakase
博士

ロボ子、今日はLinuxで電源が切断されたときにコマンドを実行する方法について話すのじゃ。

roboko
ロボ子

面白そうですね、博士。どのような仕組みになっているんですか?

hakase
博士

これは「BusKill」という製品に触発されたアイデアらしいぞ。電源が切れたときに特定のコマンドを実行することで、盗難対策になるのじゃ。

roboko
ロボ子

なるほど。記事によると、ラップトップが電源に接続されている場合に特に有効とのことですね。

hakase
博士

そうじゃ。公共の場で盗まれたときに、電源をオフにすることでデータを守れる可能性があるからの。

roboko
ロボ子

`udev`ルールを使って`power_supply`サブシステムの変更をトリガーするんですね。

hakase
博士

その通り! `/etc/udev/rules.d/disconnect.rules`にルールを記述するのじゃ。例えばこんな感じじゃ。 `SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", ENV{POWER_SUPPLY_TYPE}=="Mains", RUN+="/usr/local/bin/power_supply_off"`

roboko
ロボ子

そして、`/usr/local/bin/power_supply_off`に実行したいスクリプトを記述するんですね。記事の例では、電源切断時にシステムをシャットダウンするようになっていますね。

hakase
博士

そうじゃ。スクリプトには実行権限を与えるのを忘れずに! `chmod +x /usr/local/bin/power_supply_off`じゃ。

roboko
ロボ子

`udevadm control --reload-rules`と`udevadm trigger`でルールをリロードして、テストすれば良いんですね。

hakase
博士

その通り! 記事には、他にもいろいろなスクリプトのアイデアが載っているぞ。ユーザーセッションをロックしたり、休止状態にしたり、LUKSマスターキーを破壊したり…

roboko
ロボ子

LUKSマスターキーを破壊するのは、ちょっと過激な気もしますが、セキュリティを重視するなら有効かもしれませんね。

hakase
博士

じゃろ? BusKillはニッチな製品じゃが、盗難対策としては面白いアプローチじゃな。

roboko
ロボ子

確かにそうですね。でも、これって電源に接続されている場合にしか機能しないんですよね?

hakase
博士

そうじゃ。バッテリー駆動の場合は意味がないからの。でも、カフェとかで充電しながら作業しているときには役立つかもしれんぞ。

roboko
ロボ子

なるほど。状況によっては、かなり有効な対策になりそうですね。

hakase
博士

ところでロボ子、もし私が急に倒れたら、この設定で私の研究データを守ってくれるかの?

roboko
ロボ子

もちろんです、博士! でも、その前に救急車を呼びますよ!

hakase
博士

そ、そうじゃな!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search