on_ac_powerコマンドについて

debian10にした関係でLinuxネタが続く

PCがバッテリーで動いてるかどうか判定するのにon_ac_powerってコマンドがある
そんで、バッテリー駆動の場合は電力を節約したいので、anacronとかを動かなくする制御がはいってる

例えば、/etc/cron.daily/mlocate の場合

if which on_ac_power >/dev/null 2>&1; then
    ON_BATTERY=0
    on_ac_power >/dev/null 2>&1 || ON_BATTERY=$?
    if [ "$ON_BATTERY" -eq 1 ]; then
    exit 0
    fi
fi

こんな感じでon_ac_powerが1を返したらバッテリー駆動と判断しすぐに処理を止めてしまう
んで LB-C110B っていうひと昔前のノートPCだとこの判定が狂ってしまい常にバッテリー駆動と判定されてしまった
このままだと永遠にlocateコマンドが使えないので、divertで退避させた

dpkg-divert --divert /sbin/on_ac_power.disable --rename /sbin/on_ac_power
ln -s /bin/true /sbin/on_ac_power 

おしまい