Trucs:Un screensaver Shell en pure shell

De Lea Linux
Révision datée du 5 octobre 2005 à 16:50 par PingouinMigrateur (discussion | contributions) (conversion de la documentation originale de Léa par HTML::WikiConverter)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
Benjamin (prae) Gigon<bgigon AT lea - linux POINT org>
La création d'un screensaver shell en pure shell est relativement simple, il suffit d'écrire sur le bon tty.
#!/bin/bash # pour l'executer proprement : # ( ./screensaver_shell & ) & # TTYS="1 2 3 4 5 6" POSITION_X_MAX="80" POSITION_Y_MAX="25" while [ 0 ]; do for TTY in ${TTYS}; do RAND_X=`cat /proc/sys/kernel/random/uuid | tr a-z 0-9 | sed -e "s/\(..\).*/\\1/"` RAND_Y=`cat /proc/sys/kernel/random/uuid | tr a-z 0-9 | sed -e "s/\(..\).*/\\1/"` if [ ${RAND_X} -ge ${POSITION_X_MAX} ]; then RAND_Y=20; fi if [ ${RAND_Y} -ge ${POSITION_Y_MAX} ]; then RAND_X=40; fi echo -e "\033[2J \033[${RAND_X};${RAND_Y}HMon Screensaver" > /dev/tty${TTY} echo -e "\033[${RAND_Y};${RAND_X}HJoli Screensaver" > /dev/tty${TTY} done sleep 3; done
Voila !
Executez le comme-ci 
   * Avec prise de contrôle :
       ./screensaver_shell.sh
   * Sans prise de contrôle (en arrière-plan) :
       ( ./screensaver_shell & ) &
Le screensaver affichera les deux messages indépedement et totalement aléatoirement dans l'écran.