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.
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.