当前位置: 首页 > 科技观察

如何在电池电量已满或电量不足时获取电池状态通知

时间:2023-03-15 00:30:10 科技观察

Linux笔记本电脑非常适合类Unix用户,但它们经常会耗尽电池电量。我尝试过很多Linux操作系统,但没有一个具有与Windows相同的电池寿命。长时间充电会损坏电池,因此请在电池充满100%时拔下电源线。电池充电或放电时没有默认应用程序通知您,您需要安装第三方应用程序来通知您。为此,我通常会安装BatteryMonitor,但它已被弃用,因此我创建了一个shell脚本来获取通知。笔记本电池的充放电状态可以通过以下两条命令来识别。使用acpi命令。$acpi-bBattery0:放电,71%,剩余00:58:39使用upower命令。$upower-i/org/freedesktop/UPower/devices/battery_BAT0|grep-w'状态|百分比'|awk'{print$2}'discharging64%方法一:当电池电量高于95%或低于20%时,用shell脚本发送警报该脚本在启动时在后台运行,每分钟检查一次电池状态,然后在电池电量超过95%或放电后低于20%时发送通知。在电池电量高于20%或低于95%之前,警报不会停止。$sudovi/opt/scripts/battery-status.sh#!/bin/bashwhiletruedobattery_level=`acpi-b|grep-P-o'[0-9]+(?=%)'`如果[$battery_level-ge95];然后通知发送“电池已满”“级别:${battery_level}%”paplay/usr/share/sounds/freedesktop/stereo/suspend-error.ogaelif[$battery_level-le20];然后通知-send--urgency=CRITICAL"BatteryLow""Level:${battery_level}%"paplay/usr/share/sounds/freedesktop/stereo/suspend-error.ogafisleep60done脚本完成后,设置可执行权限:$sudochmod+x/opt/scripts/battery-status.sh最后,将此脚本添加到用户配置文件的底部。对于全局范围,您需要在/etc/profile文件中添加此脚本。$vi/home/magi/.profile/opt/scripts/battery-status.sh&重启你的Linux系统来检查这个。$sudoreboot方法2:当电池充电(高于95%)或放电(低于20%)时发送通知的Shell脚本此脚本与上述类似,但它是AC适配器的责任。如果您插入了交流适配器并且电池电量超过95%,它会播放一条带有声音的通知,但在您拔下交流适配器之前通知不会停止。如果您拔下交流适配器,您将永远不会再看到通知,直到您的电池电量降至20%。$sudovi/opt/scripts/battery-status-1.sh#!/bin/bashwhiletruedoexportDISPLAY=:0.0battery_level=`acpi-b|grep-P-o'[0-9]+(?=%)'`如果on_ac_power;那么如果[$battery_level-ge95];然后通知发送“电池已满”“级别:${battery_level}%”paplay/usr/share/sounds/freedesktop/stereo/suspend-error.ogafielseif[$battery_level-le20];然后notify-send--urgency=CRITICAL"BatteryLow""Level:${battery_level}%"paplay/usr/share/sounds/freedesktop/stereo/suspend-error.ogafifisleep60done一旦脚本完成,设置执行权限:$sudochmod+x/opt/scripts/battery-status-1.sh最后将脚本添加到用户配置文件的底部。对于全局范围,您需要在/etc/profile文件中添加此脚本。$vi/home/magi/.profile/opt/scripts/battery-status-1.sh&重启系统检查:$sudoreboot参考:stackexchange