====== Notification de batterie minimaliste ======
* Objet : Créer un système de notification de niveau faible de batterie minimaliste
* Niveau requis : {{tag>débutant}}
* Commentaires : //Cela conviendra bien aux utilisateurs de gestionnaires de fenêtres minimalistes //
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
===== Introduction =====
N'ayant nul besoin de la complexité et de la pléthore de fonctionnalités offertes par les environnements de bureau traditionnels, j'utilise un gestionnaire de fenêtres très simple. Toutefois, dans le cadre d'une utilisation avec un portable, une chose me manquait : un système de notification de niveau de batterie.
J'ai donc décidé d'en faire un moi-même, extrêmement simple et efficace.
===== Installation =====
Il consiste en 2 choses :
* un script shell
* une entrée dans ma crontab (voir https://wiki.debian-facile.org/doc:systeme:crontab)
J'utilise le système de boîtes de dialogue **zenity** mais tout autre peut faire l'affaire, j'aurais même pu lancer simplement l'ouverture de mon émulateur de terminal avec un simple message texte.
=== Installation de zenity ===
apt-get install zenity
==== Le script ====
=== Version Zenity (graphique) ===
#!/bin/bash
# batt_notify.sh : notification de batterie simple
# Le nom du fichier energy_now peut différer selon votre matériel
BATTLEVEL="$(cat /sys/class/power_supply/BAT0/energy_now)"
# Les chiffres indiqués correspondent +/- à 20 et 10% de batterie restante chez moi,
# +ils sont à adapter à votre matériel
# J'utilise deux niveaux d'avertissement :
if [ "$BATTLEVEL" -lt 17620000 ] ; then
# Avertissement simple :
zenity --warning --text="Attention batterie faible \!"
elif [ "$BATTLEVEL" -lt 8500000 ] ; then
# Attention, c'est chaud!
zenity --error --text"Batterie TRÈS faible, branche toi immédiatement sur secteur \!"
fi
exit 0
=== Version avec dialog (mode texte) ===
#!/bin/bash
BATTLEVEL="$(cat /sys/class/power_supply/BAT0/energy_now)"
if [ "$BATTLEVEL" -lt 15620000 ] ; then
dialog --title "INFO BATTERIE" --colors --msgbox "\Z1\ZbAttention batterie faible !" 10 60
elif [ "$BATTLEVEL" -lt 7500000 ] ; then
dialog --title "\Z1\ZbINFO BATTERIE" --msgbox "\Z1\ZbBatterie TRÈS faible, branche toi immédiatement sur secteur !" 10 60
fi
On peut difficilement faire plus simple
Il faut maintenant rendre le script exécutable :
chmod +x ~/bin/batt_notify.sh
==== L'entrée dans ma crontab ====
On édite sa crontab perso :
crontab -e
Voici ce qu'il faut ajouter pour exécuter le script de vérification du niveau de batterie toutes les minutes :
SHELL=/bin/bash
# Il est nécessaire de spécifier cette variable d'environnement sinon zenity renvoie une erreur relative à l'affichage à utiliser :
DISPLAY=:0.0
# Commande de lancement de notre script :
* * * * * /home/votre_login/bin/batt_notify.sh
===== Utilisation =====
Rien à faire de particulier, le démon **cron** se chargera de lancer le script de vérification à intervalle régulier (chaque minute dans ce cas) et **zenity** affichera l'avertissement adéquat si votre niveau de batterie est faible.
Enjoy!
--- //[[sogal@members.fsf.org|Sogal]] 01/03/2015 14:42//