简洁且可自定义的脚本将通知发送到您的GNU/Linux桌面,如果笔记本电脑的电池电平达到一定的最小或最大阈值水平。
在使用和测试Debian仅运行GNOME,但应在其他发行版和桌面环境中使用。该脚本将检查其必需品,并在执行初始手动运行时让您知道缺少的内容(请参见下面的说明)。

这个脚本是什么?
我宁愿每年通过拔下不需要插入的东西来节省几分便利!同样,我的笔记本电脑制造商还提出了一个20/80的充电习惯,以使电池保持最佳水平。
我已经尝试了部分充电与全额充电,而20/80似乎可以使我的电池拥有最佳的寿命。
我目前使用的桌面环境似乎没有电池警报阈值功能,而我的笔记本电脑型号则没有SYSF中的开始/停止阈值。
大多数现有的解决方案都带有我不需要的功能(或缺乏最大/自定义功能)。我只是想提醒提醒,当电池充电处于我的首选级别时,即可插入或卸下电源,而不必不断查看GUI中的符号图标。
克隆仓库到您的PC上的目录,该脚本可以在userland中保持可访问(不需要root/sudo)
git clone https://github.com/angela-d/battery-max.git然后,进行手动运行以确保其工作(它将检查以确保您的蝙蝠路径是其预期和依赖项的安装的位置 - 如果某物不对劲,它将通过终端提示您)。
只需运行完整的check-battery路径:
/storage/battery-max/check-battery (更换系统上本地路径的替换/storage/battery-max ,保留check-battery )
就是这样!设置一个cron以自动进行检查。
这将触发脚本以在您设置的预定义间隔中检查您的电池状态
crontab -e如果您希望脚本每分钟运行(替换/storage/battery-max/用于系统上的本地路径):
* * * * * /storage/battery-max/check-battery请注意,如果您选择每一分钟运行此操作,则可能需要考虑从/var/log/syslog中阻止cron,否则您会看到这样的垃圾邮件。
12月28日01:50:01 Debian Cron [28999] :(安吉拉)
如果您想简单地将cron消息引导到他们自己的日志中,而不是完全删除它们(这是我的示例会做的),请在/etc/rsyslog.conf中指定。
为了挤压此无用的登记,您可以运行(可选) :
pico /etc/rsyslog.conf找到行:
* . * ; auth,authpriv.none -/var/log/syslog像这样添加cron :
* . * ; cron,auth,authpriv.none -/var/log/syslog重新启动rsyslog:
service rsyslog restart打开check-battery ,您会看到许多可以调整的变量以适合您的需求:
# modify the following to suit
BAT_PATH=/sys/class/power_supply/BAT0/
AVAIL= $( cat $BAT_PATH " capacity " )
MIN=70
MAX=80
NOTIFY_TITLE= " Battery Level Threshold Met "
NOTIFY_MSG= " Battery level is at "
ICON= " battery "
FREQ=15变量的解释:
/usr/share/icons/[current theme name]或~/.local/share/icons/[current theme name]获取。如果您希望将电池插入24/7中,那么如果您在IBM或ThinkPad笔记本电脑上,此脚本对您无济于事,并且使用TLP的阈值功能可能更适合。
此外,您可以修改/etc/UPower/UPower.conf并调整将发送系统通知的值( PercentageLow是发送关键通知的速率):
PercentageLow=10
PercentageCritical=3
PercentageAction=2没有通知?
在与您的GUI相互作用的crontab -e中的CRON之前添加以下内容,以设置您的显示环境,而Cron无法本地访问:
DISPLAY= " :0.0 "
XAUTHORITY= " /home/your_username/.Xauthority "
XDG_RUNTIME_DIR= " /run/user/1000 "(所有3个变量可能/您的发行版可能不需要/不需要 - 此配方对我有用。)
我没有将其添加到脚本中,因为我还有其他自定义实用程序将通知发送到我的桌面,因此没有必要在多个位置添加它。