Mise en veille / Activation d'un écran

Voici comment mettre en veille / réactiver un écran en ligne de commande, pratique pour des écrans de contrôle, de présentation.
Autoriser l'accès à la session X
A partir de la session X (manuellement ou automatiquement), lancer la commande suivante:
xhosts +
Cette commande désactive tout les contrôles d'accès, jetez un œil au man pour plus de finesse
Préciser le display à manager
Votre console n'étant pas rattachée à la session X, il faut lui préciser quel est le display (vulg. l'écran) sur lequel on souhaite agir:
export DISPLAY=:0
Pas de détails pour la valeur :0, ce n'est pas l'objet, disons que si elle devait être différente, vous le sauriez.
Mise en veille
xset dpms force standby // passe le moniteur en standby
Activation
xset dpms force on // Réveille l'écran
xset s reset // Réinitialise l'affichage
Cas pratique
Un display de deux écrans (:0.0 et :0.1 se trouve dans le hall d'une entreprise, les locaux ouvrent à 7h00 et ferment à 21h00.
Voici une manière de programmer l'arrêt de l'affichage à 21h00 et de le redémarrer à 7h00 du lundi au vendredi.
# cat manageDisplay0.sh
#!/bin/sh
export DISPLAY=:0
case "$1" in
stop)
xset dpms force standby
;;
start)
xset dpms force on
xset s reset
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
# crontab -l
00 21 * * 1-5 /root/scripts/manageDisplay0.sh stop >/dev/null 2>&1
00 07 * * 1-5 /root/scripts/manageDisplay0.sh start >/dev/null 2>&1