Eu tenho o mesmo problema e é realmente 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 desktop. 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 desejar um alerta sonoro. Se você não deseja iniciar o script automaticamente quando o ambiente da área de trabalho começar, coloque 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&
Verifique se 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 digitando este comando:
BatteryAlertLauncher.sh