Você pode tentar usar este script.
Ele gera uma notificação e reproduz o som (com pulseaudio) quando o nível da bateria atinge o valor selecionado. Ele não acompanha os ciclos de carga / descarga, mas com algumas edições você pode adicionar esse recurso.
#! /bin/bash
# read battery percentage value
OUT='upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage'
# select only the int value
IFS=':' read -ra P <<< "$OUT"
PERCENTAGE="%"
BATTERY_VALUE=${P[1]%$PERCENTAGE}
# send a notification and play sound if battery level is under 10%
if (( $BATTERY_VALUE < "10")); then
notify-send "Battery Low level! You need to plug your PC!"
# command to play sound - you can select your preferred sound if this doesn't work
paplay /usr/share/sounds/freedesktop/stereo/complete.oga
fi
# send a notification and play sound if battery level is equal to 100%
if (( $BATTERY_VALUE >= "100")); then
notify-send "Battery charged! You can now unplug your PC!"
paplay /usr/share/sounds/freedesktop/stereo/complete.oga
fi
Copie esse script em um arquivo bash e mova-o para a pasta bin local:
sudo mv <script_file> /usr/local/bin/
Onde script_file é o nome (ou caminho) do seu script. Então você pode usar o daemon cron
para executá-lo a cada 5 minutos para verificar o nível da bateria. Então edite cron
:
crontab -e
Selecione o editor preferido e adicione no final do arquivo esta linha:
*/5 * * * * /usr/local/bin/<script_file>
Altere script_file com o nome do seu script.
Agora deve funcionar. Verifique após uma reinicialização do sistema.
Espero ser útil.