Trucs:Un screensaver Shell en pure shell
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.