Que los estudiantes vean la pantalla del docente
Comparto un script que me resulta útil en la escuela en donde trabajo.
Sirve para que todos los estudiantes puedan ver la pantalla del docente, de tal manera que pueda mostrarse algún procedimiento complejo.
Los supuestos son los siguientes:
- Todas las máquinas están corriendo un GNU/Linux
- Las máquinas de los alumnos tienen un cliente VNC llamado “vinagre” (la mayoría de las distros derivadas de Debian lo traen por defecto).
- Las máquinas tienen ip fija y correlativa (en este ejemplo, se supuso que están en el rango 192.168.10.2 a 192.168.10.25).
- El usuario del docente tiene acceso por ssh sin contraseñas a las máquinas de los alumnos. (Aquí está explicado cómo se hace).
- Todas las computadoras de los estudiantes están conectadas con el mismo usuario.
Sin más preámbulos, el script:
#!/bin/bash
#Cambia las siguientes configuraciones, según la ip de tu aula:
ip_docente="192.168.10.99"
primera_maquina=2
ultima_maquina=25
#Usuario con el que se conectan los estudiantes
echo "Ingrese el usuario: "
read usuario
#Comando que se ejecutará en las máquinas de los estudiantes.
com="export DISPLAY=:0.0 && vinagre -f vnc://$ip_docente"
echo "Se abrirá una ventana. Marque:"
echo "\"Permitir a otros usuarios ver mi escritorio\""
echo "Pulse ENTER para continuar"
read algo
vino-preferences #Para que el docente configure, si falta algo.
echo "En unos instantes, todos verán esta pantalla..."
for i in $(seq $maquina $ultima_maquina); do
ssh $usuario@192.168.10.$i "$com" &
done
Hay que abrir un editor de textos y copiar y pegar este código. Luego, guardarlo con el nombre que se desee, supongamos ver.sh
Después, le damos permisos de ejecución, escribiendo en una terminal el comando chmod 744 ver.sh
Por último, lo ejecutamos, escribiendo desde la terminal ./ver.sh
Y allí podremos explicar el procedimiento, mientras todos los estudiantes ven nuestra pantalla.
Por último, para “devolverles” el control de sus máquinas, tenemos que ejecutar este otro script, del mismo modo que antes:
#!/bin/bash
primera_maquina=2
ultima_maquina=25
echo "Ingrese el usuario: "read usuario
com="killall vinagre"
for maquina in $(seq $primera_maquina $ultima_maquina); do
ssh $usuario@192.168.10.$maquina "$com" &
done
Espero que les sea útil. Si hay algo que no expliqué con claridad, pueden dejar un comentario.
Tags: castellano, bash, educacion, aula-de-informatica