Tout d'abord, je voudrais dire que j'ai consulté les derniers sujets concernant cron dans ce forum ( http://forums.archlinux.fr/topic7969.html par exemple). J'ai aussi pas mal fait de recherches sur Internet et trouvé ce page :
http://askubuntu.com/questions/23009/re ... s-not-work qui liste un bon nombre de problème potentiels lors de la mise en place de scripts à exécutions régulières.
Pourtant, mon script bash utilisant zenity pour afficher un message sur le niveau de la batterie de mon portable (la batterie est chargée / la batterie est déchargée) ne s'affiche pas à l'écran, et le messge de log de crontab me semble un peu bizarre.
Allons-y !
Le script bash (nécessite bash zenity et apci) :
Code : Tout sélectionner
#!/bin/bash
#
# This script is meant to warn you when the battery level is low
# or when it's fully charged
RESTE=`acpi -b | awk -F"," '{print $2}'`
BRANCHEE=`acpi -a | gawk -F":" '{print $2}'`
export DISPLAY=:0.0
if [[ $BRANCHEE == " off-line" && $RESTE == " 10%" || $RESTE == " 9%" || $RESTE == " 8%" || $RESTE == " 7%" || $RESTE == " 6%" || $RESTE == " 5%" || $RESTE == " 4%" || $RESTE == " 3%" ]]
then zenity --warning --display=:0.0 --text "ATTENTION, la batterie est déchargée (-10%)."
fi
if [[ $BRANCHEE == " on-line" && $RESTE == " 95%" || $RESTE == " 96%" || $RESTE == " 97%" || $RESTE == " 98%" || $RESTE == " 99%" || $RESTE == " 100%" ]]
then zenity --warning --display=:0.O --text " La batterie est pleine ; vous pouvez débrancher"
fi
Ici, il me faut dire que j'utilise i3 (http://i3wm.org/), que je n'ai pas de "dock flashy" ou autre barre des tâches, et que l'utilisation de i3status ou concky (ou autre) ne m'est d'aucune utilité : en effet, ces jouets utiles sont cachés losrque j'ouvre une fenêtre pour bosser. Il me faut donc un système "intrusif", une fenêtre chiante en plein milieu de l'écran, pour me signaler que la batterie est chargée et que je peux débrancher l'alimentation ; et qu'il me reste peu de réserve quand l'alimentation est débranchée. Sinon, c'est la cata, expérimentée bien des fois...
Continuons avec le crontab :
Code : Tout sélectionner
*/5 * * * * /bin/bash -c "/usr/bin/battery"
Ensuite, le
Code : Tout sélectionner
.bashrc
Code : Tout sélectionner
xhost local:sylvain > /dev/null
De fait, je n'ai plus de message d'erreur concernant l'affichage. En fait je ne comprends pas l'erreur signalée dans le log de crontab :
Code : Tout sélectionner
Sep 1 14:25:01 localhost /USR/SBIN/CROND[7913]: (sylvain) CMD (/bin/bash -c "/usr/bin/battery")
Sep 1 14:25:01 localhost /USR/SBIN/CROND[7912]: (sylvain) CMDOUT (This option is not available. Please see --help for all possible usages.)
Sep 1 14:25:01 localhost /USR/SBIN/CROND[7921]: (CRON) EXEC FAILED (/usr/sbin/sendmail): No such file or directory
Sep 1 14:25:01 localhost /USR/SBIN/CROND[7912]: (sylvain) MAIL (mailed 73 bytes of output but got status 0x0001
)
Les deux premières lignes en revanche me perturbent : quand je fait une recherche Internet sur "crontab CMDOUT this option is not available", je ne trouve que dalle.
Je veux bien des pistes, merci à vous !