#!/bin/sh
# IMCP : ce script est orginaire de TOUTOU LINUX
# il est utilise au demarrage de X
# pour lancer une animation console
# et lancer une sonnoristion (mettre de l'Ambiance)
#
# j'y est rajouter des sections :
# * le demarrage ADSL et ca surveilance et relance
# * la surveillance de l'onduleur et des autres pc
# pour provoquer l'arret du systeme en cas de necessite
# * la surveillance webcam
##--------variables---------->>
SCRIPT_DIR="/usr/local/Ambiance"
AUDIO_DIR="/usr/share/audio"
ALISP=$(cat $SCRIPT_DIR/config | grep ACTIVATELOGINSPLASH | cut -d'=' -f2)
ALISO=$(cat $SCRIPT_DIR/config | grep ACTIVATELOGINSOUND | cut -d'=' -f2)
#ALISO='false'; #KOOKKK provisoirte hinibition aplay
if [ $ALISP == "true" ]
then
$SCRIPT_DIR/login_splash &
fi
# ------------------------------
#connection adsl : ajout imcp
( nice -n -5 xterm -e /etc/rc.d/ResetIptables r ;) & #tache demo pour connection 1er adsl
# et surveillance perfo wimax
# en mode r : relance automatique:
# l'adsl est lance, la configuration de routage et parefeux remise a jour
# la date du serveur est mise a jour par le reseaux
# les caracteristaique de l'antenne memorise pour le graphisme http
# .. l'internet est teste toutes les deux minutes
# ... est relance automatiquement si besoin
# ..... si le defaut persite plusieur fois
# .... l'ensemble de la station est arrete (et redemarre )...
# .... par demande coupre calibre electricite au demon onduleur si apres
#surveillance onduleur : ajout imcp
( # cette tache est lance en batch (fork exec) demon
# a son tour le demon execute dans l'ordre les trois taches suivante : 1 && 2 && 3
(
# la premier tache commence par une tempo
sleep 10; # pour voir qq chose au demmarrage, si cela plante juste apres (pour debuger)
# ensuite premier tache est un composite : TestBatterie
# (dont le stdout est redirege dans les logs)
# ( Test batterie provoque la monte du DTR => Armement Watch Dog de la carte electronique)
(
/etc/rc.d/TestBatterie; #tanque la batterrie ou la rs232 est muette,
# on ne sort pas du programme TestBatterie
if test "$?" != "5"; then #return code unexpected
echo "PROGRAMME /etc/rc.d/TestBatterie RETURN ERREUR CODE $? ????";
echo "SLEEPING UNTIL SHUTDOWN ....";
sleep 300; #pour debuger le programme avant le shutdown
fi;
sleep 2; #tempo rs232
) | logger -p warning #on colle tous dans les log (tail -f /var/log/messages)
# fin de la 1ere tache : la surveillance est fini
# (retombe du DTR)(Lancement Tempo Watch Dog electroniqe)
# la tache batch mere enchaine 2 && 3
# (l' arret automatique TouTou Linux) :
) && /usr/local/Ambiance/logout_shutdown && /usr/bin/wmpoweroff.sh
# tous doit etre termine, avant la coupure de courant :
# (duree definie par potentiometre Watc Dog)!!!
# cependant on doit laisser le temps aux message RS232 de sortir !!!
# Apres la coupure de courant generalisee de onduleur ...
# ce dernier redeemarre l'ensemble des pc de la stations , si la clef marche
# de la carte de commande est sur on
) & #tache demon de surveillance des pc et 220v
#surveillance webcam et synchro http : ajout imcp
# les demon webcam surveille des fichiers de commandes, et peuvent declencher
# la photogrtaphie si : mouvement, detection infrarouge, alarme, demande http etc etc ...
( sleep 15 ; xterm -e /root/webcam/getimage.sh cam0 NOCH NOTEST DNF; ) &
#tache demon qui surveille et synchronise la webcam 1
# ( sleep 25 ; xterm -e /root/webcam/getimage.sh cam1 NOCH NOTEST DNF; ) &
#tache demon qui surveille et synchronise la webcam 2 ...
# RQ : faire des sleep de plus en plus long
# pour repatir les demarrage sur les perif usb
# De plus le script de demarrage du window manager /usr/local/Ambiance/login_splash
# a ete modifie pour prevenir operateur : ajout imcp
# les menus arret et demarrage window manager operateur
# /usr/bin/wmreboot et /usr/sbin/poweroff
# sont modifies pour donner les choix a operateur de demarrer d'arreter
# (ou de redemarrer) cet ordinateur uniquement
# ou TOUS les pc de la station (par le biais de la rs232 de l'onduleur).
# Un utlisateur distant sur le serveur http
# peut aussi faire cette demande arret redemarrage
# on peut utiliser la sortie audio suivante pour envoyer message
# (mais les batch sont encore en cours )!
# ------------------------------
if [ $ALISO == "true" ]
then
aplay $AUDIO_DIR/login.*
fi
# Retour a la page d'appel du web source
#
|