RSS

Bloqueo de pantalla por ssh

10 Mar

Comparto con ustedes una solución que apliqué en el laboratorio de informática de la escuela en donde trabajo.
Muchas veces el docente quiere solicitar la atención de los estudiantes que están trabajando en las computadoras. Casi siempre se logra, por lo general insistiendo un par de veces. Pero hay ocasiones (sobre todo con los pibes más chicos) en las que puede ser necesario “bloquear” por unos instantes el uso de la computadora, para que no se pierdan una explicación importante. Esto es un poco violento para mi gusto, particularmente yo lo uso cuando se va un grupo y llega otro. Los chicos encuentran las máquinas “bloqueadas”, y saben que no se “desbloquean” hasta que la actividad no ha sido planteada.
Concretamente, lo que me habían pedido era un script que bloqueara la pantalla, el teclado y el ratón, y otro que revirtiera este efecto.
No sabía cómo hacerlo, así que escribí a la lista del Grupo de Usuarios de Software Libre de Rosario (LUGRo), y me dieron varias sugerencias (Aprovecho para agradecer a Adrián, Omar, Emiliano, Martín, y especialmente a Víctor, que me propuso esta solución). Reconozco que es muy específico lo que aquí comparto, pero me parece que puede ser que en otra escuela resulte útil. (Además, anotarlo acá es una buena manera de tenerlo a mano la próxima vez que lo necesite).
Paso 1: Las máquinas deben tener ip fijas. No es necesario que sean correlativas, pero en mi caso es así, lo que facilita un poco las cosas. (Aquí hay una explicación de cómo poner ip fijas en Ubuntu 10.04).
Paso 2: Debe estar instalado el openssh-server en las máquinas de los estudiantes. Si no está instalado, hay que escribir en un terminal (en cada una de las máquinas):
sudo apt-get install openssh-server
Paso 3: Permitir loguearse con el usuario root (Ubuntu no lo permite por defecto). Para eso, escribir en un terminal:
sudo passwd root
Nos pedirá una contraseña de root, y ya podremos ingresar con este usuario como en las otras distribuciones. (Conviene elegir una contraseña segura, y usar root solamente desde consola.)
Paso 4: Permitir el acceso sin contraseñas al usuario del docente, desde la máquina del mismo. (Aquí está explicado cómo se hace).
Paso 5: Por fin, hacemos el script para bloquear las máquinas:
Abrir un terminal. Escribir sudo gedit bloquear.sh
Se abrirá gedit, allí pegamos el siguiente código:

#!/bin/bash
# Suponiendo que las máquinas tienen ip correlativas de 192.168.0.2 a 192.168.0.16, 
# que el usuario que usan los estudiantes es "chicos", y que se usa gnome:
maquina=2
while [ $maquina -lt 17 ] ; do
  #bloqueamos la pantalla:
  ssh -X chicos@192.168.0.$maquina "export DISPLAY=:0;gnome-screensaver-command -l;"
  #inhabilitamos temporalmente el usuario:
  ssh root@192.168.0.$maquina "passwd -l usuario"
  let maquina=maquina+1 
done

Guardamos y salimos de gedit.

Paso 6: Le damos permiso de ejecución al archivo:
sudo chmod 744 bloquear.sh

Paso 7: Creamos ahora el script para desbloquear las máquinas.
sudo gedit desbloquear.sh
Y copiamos en gedit el siguiente código:

#!/bin/bash
# Con las mismas suposiciones que antes:
maquina=2
while [ $maquina -lt 17 ] ; do
  #rehabilitamos el usuario:	
  ssh root@192.168.0.$maquina "passwd -u usuario"
  #desbloqueamos la pantalla:
  ssh -X chicos@192.168.0.$maquina "export DISPLAY=:0;gnome-screensaver-command -d;"
  let maquina=maquina+1 
done

Una vez más, guardamos y salimos.

Paso 8: Igual que en el paso 6: sudo chmod 744 desbloquear.sh

Ahora, cada vez que queramos bloquear las máquinas, simplemente abrimos una terminal en la máquina del docente, y escribimos:
./bloquear.sh
Y cuando queramos devolverle el control a los usuarios, escribimos en la misma terminal:
./desbloquear.sh

 
3 comentarios

Publicado por en 10/03/2012 en Utilidades

 

Etiquetas: , , , , , ,

3 Respuestas a “Bloqueo de pantalla por ssh

  1. Mivare

    14/03/2012 at 12:56

    Muy interesante para aplicar a grupos, también puede servir para cualquier tipo de grupos de ordenadores, no solamente para utilizar en equipos de clase, por ejemplo en ciber, o incluso en empresas.

     

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: