Linux查看电源信息

May 31, 2013

忘记插A/C电源,结果电池没电然后直接关机的事情在两天里发生了三次,幸好都没干正事,所以没什么损失。

开个进程或者用cron监控电池电量然后弹窗口提示还是太麻烦了,所以我现在的解决方法是在登陆的时候检查一下有没有插电源,然后提示一下就可以了。

/sys/class/power_supply/里可以看到供电方式:

$ ls /sys/class/power_supply/
AC0  BAT0

AC0就是我的A/C电源了。

然后 /sys/class/power_supply/AC0/online表示是否插上电源:

$ cat /sys/class/power_supply/AC0/online
1

所以检查一下然后输出个显眼的提示就可以了:

mapfile -t online < /sys/class/power_supply/AC0/online

if [[ ${online[0]} == 0 ]]; then
    printf "\e[1;31mRunning on Battery!!!\n\e[0m"
fi

bash的mapfile读文件很方便,另外/sys/class/power_supply还可以读到很多有用的信息,以后再看看有好玩的用法。