Notification de batterie minimaliste

Objet : Créer un système de notification de niveau faible de batterie minimaliste

Niveau requis :

Commentaires : Cela conviendra bien aux utilisateurs de gestionnaires de fenêtres minimalistes

Débutant, à savoir : 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

#!/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

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 01/03/2015 14:42