У меня та же проблема, и это действительно расстраивает. Я решил с помощью сценария BatteryAlert.sh :
#!/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, но вы можете использовать его с любой рабочей средой. Вам не нужно запускать это как пользователь root или сходить с ума от синтаксиса crontab. Вам нужно только изменить звук уведомления, если вы хотите звуковое оповещение. Если вы не хотите запускать сценарий автоматически при запуске среды рабочего стола, поместите сценарий в папку $ USER / bin с помощью сценария BatteryAlertLauncher.sh :
#!/bin/bash
function getRunningProcesses
{
ps -aux | grep -v grep | grep BatteryAlert.sh
}
if [[ -n "$(getRunningProcesses)" ]] ; then
exit
fi
BatteryAlert.sh&
Убедитесь, что они исполняемые:
chmod u+x $USER/bin/BatteryAlert*
Затем просто запустите следующую команду:
ln -s /home/$(USER)/bin/BatteryAlertLauncher.sh .config/autostart/
Вы также можете запустить скрипт оповещения вручную из bash, введя эту команду:
BatteryAlertLauncher.sh