忘记插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
还可以读到很多有用的信息,以后再看看有好玩的用法。