我正在设置一台运行 Debian Jesse 的笔记本电脑,并使用 xmonad 作为显示管理器。我使用 xmobar 来显示有关系统当前状态的信息,包括电池电量。然而,我发现我忘记定期检查,当我的计算机因为电池耗尽而突然关闭时,我总是感到惊讶 --- 我怀念以前使用 XFCE 时收到的弹出通知。
我可以使用什么来获得有关电池电量不足的引人注目的警告?我发现的大多数解决方案都使用 dzen,或者只是在状态栏上显示一个数字,我发现这是不够的。
答案1
这不是现成的解决方案,而是一个想法:我会使用osd_cat
包中的内容扩展名在 Fedora Linux 中,它与 cronjob 一起检查电池状态。
您可以编辑您的 cronjobs
crontab -e
您可以在 中找到电池状态/sys/class/power_supply/
,在我的情况下,它BAT1/
包含一些文件charge_now
和charge_full
。有了这些文件,那就是
/sys/class/power_supply/BAT1/charge_now
/sys/class/power_supply/BAT1/charge_full
您可以找到电池的剩余百分比,然后可以通过 osd_cat (屏幕显示)向您显示一条大消息。
答案2
这是我根据 @erik 使用 osd_cat 的建议编写的一个简短脚本:
from subprocess import Popen, PIPE
with open("/sys/class/power_supply/BAT0/charge_now") as f:
charge_now = float(f.read())
with open("/sys/class/power_supply/BAT0/charge_full") as f:
charge_full = float(f.read())
percent = 100*charge_now/charge_full
if percent < 10:
p = Popen(['osd_cat','-A','center','-p','middle','-f','-*-*-bold-*-*-*-36-120-*-*-*-*-*-*','-cred','-s','5'],stdin=PIPE)
p.communicate(input="Battery Low!")
p.wait()
然后你可以通过 cron 作业每分钟运行一次:
DISPLAY=:0.0
PATH=/usr/bin
* * * * * python ~/power_warning.py