Revisión 414
Añadido por Francisco Paniagua Sánchez hace más de 12 años
tareas_puppet/servidores_aula/squeeze/ltsp2012_adormir/files/adormir.sh | ||
---|---|---|
#/bin/bash
|
||
|
||
#Poner en el crontab para que se ejecute cada minuto.
|
||
#Comprueba si hay alguien logueado en el terminal o bien está ejecutandose
|
||
#el cañon vlc de Aulalinex o el vnc-proyector
|
||
|
||
|
||
#Opciones para ver si hay alguien logado
|
||
# logado=$(ps aux | grep "ssh.*192.168.0.254" | grep -v grep | wc -l)
|
||
# logado=$(cat /var/run/ltsplogin192.168.0.254) <-devuelve el login del usuario que ha entrado, lo malo es que si sale de sesión no se borra.
|
||
# Y la que usamos, copiada de controlaula:
|
||
logado=$(ps aux | grep "LTSP_CLIENT" | grep -v grep | wc -l) #Si alguien esta logado, la conexion con el servidor de aula tiene esta cadena.
|
||
|
||
|
||
#Numero de minutos de espera para apagar el equipo si nadie ha hecho login.
|
||
#Si no queremos que se apaguen nunca , ponemos un valor muy alto, inalcanzable en una clase normal (1000 minutos, por ejemplo)
|
||
#El script es invocado cada minuto por cron, eso puede hacer que tarde hasta
|
||
#un minuto más de lo indicado en apagarse.
|
||
TIMEOUT=5
|
||
|
||
testigo=/tmp/ocioso
|
||
segundos_timeout=$(expr $TIMEOUT \* 60 - 1)
|
||
logado_root=$(who | grep root | wc -l) #Si el root ha iniciado sesión por consola o ssh
|
||
vlcenuso=$(ps aux | grep vlc | grep -v grep | wc -l) #Por si se está proyectando video sin alumnos logados.
|
||
vncenuso=$(ps aux | grep vnc | grep -v grep | wc -l) #Por si se está proyectando escritorio sin alumnos logados.
|
||
mensajeuso=$(ps aux | grep mensaje-ltsp | grep -v grep | wc -l) #Por si está en uso mensaje-ltsp
|
||
if [ $logado -eq 1 -o $vlcenuso -ge 1 -o $vncenuso -ge 1 -o $logado_root -gt 0 -o $mensajeuso -gt 0 ]
|
||
then
|
||
test -e $testigo && rm $testigo
|
||
else
|
||
if [ ! -e $testigo ]
|
||
then
|
||
touch $testigo
|
||
else
|
||
seg1=$(stat -c%X $testigo)
|
||
seg2=$(date +%s)
|
||
segundos=$(expr $seg2 - $seg1)
|
||
if [ $segundos -gt $segundos_timeout ]
|
||
then
|
||
export XAUTHORITY=$(find /var/run -name Xauthority)
|
||
gxmessage -display :7 -timeout 30 -center -button "No apagar" "Este ordenador no se esta usando. El sistema se apagara en 30 segundos."
|
||
if [ $? -ne 101 ]
|
||
then
|
||
/sbin/ethtool -s eth0 wol g 2>/dev/null
|
||
/usr/bin/killall -9 x-session-manager
|
||
/sbin/poweroff -fp &
|
||
else
|
||
touch $testigo
|
||
fi
|
||
fi
|
||
fi
|
||
fi
|
||
tareas_puppet/servidores_aula/squeeze/ltsp2012_adormir/LEEME | ||
---|---|---|
BREVE DESCRIPCION DE LA EJECUCION DEL MODULO
|
||
--------------------------------------------
|
||
|
||
Destino : Servidores de aula
|
||
|
||
Acción : Modifica el fichero adormir.sh que se incluye en la imagen
|
||
para un correcto funcionamiento y actualiza la imagen
|
||
|
||
Notas : Modifica el fichero adormir.sh cambiando las condiciones de comparacion
|
||
para que los ordenadores no se apaguen cuando se esta utilizando
|
||
el proyector y la transmision de video sin usuarios validados.
|
||
|
||
INSTRUCCIONES DE INSTALACION DEL MODULO
|
||
---------------------------------------
|
||
|
||
Desempaquetar en /etc/puppet/modules
|
||
Incluir la linea include "nombre_modulo" en /etc/puppet/manifests/classes/clase-especifica-squeeze.pp
|
||
|
||
------------------------------------------------
|
||
|
||
Creado por:
|
||
|
||
Francisco Paniagua Sánchez
|
||
Administrador Informático del IES Francisco de Orellana (Trujillo).
|
||
24-Octubre-2012
|
||
tareas_puppet/servidores_aula/squeeze/ltsp2012_adormir/manifests/init.pp | ||
---|---|---|
class ltsp2012_adormir {
|
||
|
||
|
||
file { "/opt/ltsp/i386/root/adormir.sh":
|
||
owner=> root, group=> root, mode => 755,
|
||
source => "puppet:///ltsp2012_adormir/adormir.sh",
|
||
notify => Exec ["crear-imagen-adormir"],
|
||
}
|
||
|
||
exec { "crear-imagen-adormir":
|
||
command => "/usr/sbin/ltsp-update-image --arch i386",
|
||
refreshonly => true,
|
||
}
|
||
|
||
}
|
Exportar a: Unified diff
Corrige errores en el script adormir.sh