Aynı sorun bende ve bu gerçekten sinir bozucu. BatteryAlert.sh betiğini kullanarak çözdüm :
#!/bin/bash
BATTERY=$(upower -e | grep 'BAT')
while :
do
BATTERY_PERCENTAGE=$(upower -i $BATTERY|grep percentage|awk '{ print $2 }'|sed s/'%'/''/g)
CABLE=$(upower -d | grep -n2 line-power | grep online | awk '{ print $3 }')
if [[ "$BATTERY_PERCENTAGE" -lt "10" && $CABLE = "no" ]]; then
notify-send --urgency=critical "WARNING: Battery is about to die" "Plug in the power cable"
play /usr/share/sounds/KDE-Sys-Warning.ogg &> /dev/null
fi
sleep 10
done
KDE kullanıyorum, ancak her masaüstü ortamında kullanabilirsiniz. Bunu root kullanıcısı olarak çalıştırmak veya crontab sözdizimi ile delirmek zorunda değilsiniz. Sesli bir uyarı istiyorsanız yalnızca bildirim sesini değiştirmeniz gerekir. Masaüstü ortamı başladığında betiği otomatik olarak başlatmak istemiyorsanız, betiği BatteryAlertLauncher.sh betiğiyle birlikte $ USER / bin klasörüne koyun :
#!/bin/bash
function getRunningProcesses
{
ps -aux | grep -v grep | grep BatteryAlert.sh
}
if [[ -n "$(getRunningProcesses)" ]] ; then
exit
fi
BatteryAlert.sh&
Çalıştırılabilir olduklarından emin olun:
chmod u+x $USER/bin/BatteryAlert*
Sonra sadece aşağıdaki komutu çalıştırın:
ln -s /home/$(USER)/bin/BatteryAlertLauncher.sh .config/autostart/
Bu komutu girerek uyarı betiğini bash'den elle de çalıştırabilirsiniz:
BatteryAlertLauncher.sh