J'utilise régulièrement la commande shutdown pour programmer l'heure à laquelle mon ordi s'éteindra, souvent après le visionnage d'un film sur lequel je vais lamentablement m'endormir
Pré-requis
Mon objectif est de créér une mini-application qui ouvrira une fenêtre "zenity" dans lequel on saisira le nombre de minutes dans lequel le PC s'éteindra.
Si zenity n'est pas installé sur votre PC, faites-le maintenant...
$ su -
# yum install zenity |
La commande utilisée pour éteindre le PC sera shutdown . Elle s'utilise en super-utilisateur, pour des raisons de sécurité évidentes pour certains, mais pas pour la plupart des utilisateurs finaux, j'entends par là le PC "familial" sur lequel tous les utilisateurs ont le droit d'éteindre le PC. Donc, dans un premier temps, rendre la commande shutdown accessible à tous:
$ su -
# chmod +s /sbin/shutdown |
Le script, bash...
Par défaut, le PC s'éteindra dans 105 minutes (1 h 45), variable OPT_STOP
La fonction SetA génère la boite de texte zenity qui récupère la variable OPT_STOP
La fonction shutCpt éteindra le PC dans OPT_STOP minutes
#!/bin/bash
OPT_STOP=105
OPT_TIME=$(date +%s)
/sbin/shutdown -c &
function setA () {
OPT_STOP=`zenity --width="400" --entry --title="Eteindre le PC" --text="Saisir le nombre de minutes avant l'arrêt de l'ordinateur" --entry-text=$OPT_STOP`
}
function shutCpt () {
OPT_FIN=$(date -d "1970-01-01 GMT $(($OPT_TIME+60*$OPT_STOP)) seconds" "+%H:%M le %d / %m / %y" )
/sbin/shutdown -h +$OPT_STOP &
zenity --notification --window-icon="/usr/share/pixmaps/eteindrelepc.png" --text "Minuterie activée. Shutdown programmé à $OPT_FIN."
}
setA
if [ ! $OPT_STOP ] ; then exit
else shutCpt
fi
Copiez le contenu ci-dessous dans votre éditeur de texte.
Vous devez ensuite enregistrer ce fichier dans le dossier de votre choix, mais je vous recommande de le placer dans ~/.local/bin/ pour pouvoir l'exécuter simplement.
Comme nom de fichier, eteindrelepc me semble pas mal
Maintenant, il faut autoriser ce script à s'exécuter.
| $ chmod +x ~/.local/bin/eteindrelepc |
Résultat
En lançant eteindrelepc vous obtenez ceci: Vous pouvez bien sûr créér un lanceur de bureau, un raccourci dans le menu Applications Gnome, et si vous cherchez un icone pour aller avec, voici eteindrelepc.png (48x48), à placer dans /usr/share/pixmaps, sinon modifiez le script en fonction...
|