Eu tenho o mesmo problema e é muito frustrante.
Eu resolvi usando o script 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
Estou usando o KDE, mas você pode usá-lo em todos os ambientes de área de trabalho. Você não precisa executar isso como usuário root ou enlouquecer com a sintaxe do crontab.
Você só precisa alterar o som da notificação se quiser um alerta sonoro. Se você quiser iniciar o script automaticamente quando o ambiente de desktop começar a colocar o script na pasta $ USER / bin com o script BatteryAlertLauncher.sh :
#!/bin/bash
function getRunningProcesses
{
ps -aux | grep -v grep | grep BatteryAlert.sh
}
if [[ -n "$(getRunningProcesses)" ]] ; then
exit
fi
BatteryAlert.sh&
Certifique-se de que eles são executáveis:
chmod u+x $USER/bin/BatteryAlert*
Em seguida, basta executar o seguinte comando:
ln -s /home/$(USER)/bin/BatteryAlertLauncher.sh .config/autostart/
Você também pode executar o script de alerta manualmente a partir do bash, inserindo este comando:
BatteryAlertLauncher.sh