Come far notificare il livello di carica della batteria su Linux

Ci sono situazioni in cui KDE su un portatile non segnala più lo stato di carica bassa della batteria e quindi il portatile vi si spegne improvvisamente. Non ho indagato sulle cause di questa cosa per cui ho pensato di risolverla diversamente. Mi serviva uno script che tenesse d’occhio la batteria e notificasse lo stato di carica insufficiente.

Ho trovato questo script Bash che fa proprio al caso mio. In più offre la possibilità di notificare quando la carica è già sufficiente, ad esempio al 90%, ed è quindi consigliabile staccarlo dalla rete elettrica.

carica-sufficiente

Notifica di carica sufficiente.

carica-insufficiente

Notifica di carica insufficiente.

Ringrazio l’autore dello script, che ho in parte modificato.

 1#!/bin/bash
 2while true
 3    do
 4        export DISPLAY=:0.0
 5        battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'`
 6        if on_ac_power; then
 7            if [ $battery_level -ge 90 ]; then
 8            # KDE
 9            kdialog --icon=battery-090-charging --title "Batteria carica" --passivepopup "Livello: ${battery_level}%"
10            # GNOME
11            #notify-send --icon=battery-090-charging "Batteria carica" "Livello: ${battery_level}%"
12            # Sound, if desired
13            # paplay /usr/share/sounds/freedesktop/stereo/complete.oga
14            fi
15        else
16            if [ $battery_level -le 10 ]; then
17            # KDE
18            kdialog --icon=battery-010 --title "Batteria scarica" --passivepopup "Livello: ${battery_level}%" 999
19            # GNOME
20            # notify-send --urgency=CRITICAL --icon=battery-010 "Batteria scarica" "Livello: ${battery_level}%"
21            # Sound, if desired
22            # paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga
23            fi
24        fi
25        sleep 60
26    done

Lo script esegue un controllo ogni minuto, verificando lo stato di carica della batteria. Se è sotto carica, notificherà se il livello è giunto al 90% o più; se invece è alimentato da batteria, notificherà se il livello è sceso al 10% o meno. Chiaramente questi numeri sono personalizzabili, così come è personalizzabile l’ambiente desktop dove viene eseguito lo script. C’è anche la possibilità di emettere una notifica audio, che va attivata appositamente.