martes, 28 de junio de 2011

Compartir el escritorio en un aula de clases

Introducción: Una metodología de enseñanza que utilizo para enseñar programación consiste en no presentar la solución completa de un problema sino de ir completándolo incrementalmente con la ayuda de los estudiantes presentes en la clase. Mi rol se limita a sólo ser un guía que los ayuda a descubrir una posible solución al ejercicio planteado.

Problemática: Este esquema funciona bien en los horarios de cátedras (salas/aulas) pero los laboratorios (salas de computación) no cuentan con proyector (datashow) entonces es necesario contar con alguna herramienta que permita compartir la pantalla de mi computador vía red para que los estudiantes puedan ver en sus computadores lo que voy haciendo en el mío.

Solución: Utilizar lo que describí en mi post anterior para el control de sesiones en openSUSE. Esta vez queremos que los clientes (estudiantes) puedan ser sólo espectadores de mi sesión. Para esto utilizamos el siguiente comando en un terminal (como usuario normal):


x11vnc -forever -bg -viewonly -nopw -shared


La explicación "humana" de cada uno de los parámetros es la siguiente:

  • forever: Indica que la sesión compartida seguirá iniciada incluso después de que algún cliente se desconecte.

  • bg: Sirve para que la sesión de nuestro servidor corra como un servicio de fondo (background).

  • viewonly: Este parámetro nos sirve para establecer que los clientes sólo podrán ver nuestro escritorio y no manipular el mouse ni el teclado.

  • nopw: Establece que los clientes puedan conectarse al servidor sin clave.

  • shared: Nos permite tener más de un cliente.


Una vez que el comando es introducido aparecerán en la consola un montón de instrucciones. Nos interesa un par de  líneas como las siguientes:


The VNC desktop is: localhost.site:2
PORT=5902



La primera línea puede variar según la configuración del equipo. La segunda línea nos indica en qué puerto está corriendo nuestro servidor. En el ejemplo es el 5902, así que es necesario ir al administrador del cortafuegos y abrir dicho puerto:

YaST->Seguridad y Usuarios->Cortafuegos->Servicios Autorizados->Opciones Avanzadas

En la sección "Puertos TCP" agregamos el puerto que anotamos en el paso anterior:



Damos aceptar a esa ventana y a la ventana de configuración del cortafuegos.

Y ahora estamos listos para compartir nuestro escritorio con los estudiantes. Sólo debemos decirles que bajen un cliente VNC (como TightVNC) y les damos nuestra IP y el puerto asignado al servicio, por ejemplo:


192.168.0.100:5902


Y eso es. Happy teaching!
Real Time Web Analytics