12 mar 2014

Script rpkgsync para servidores de aula

He publicado un nuevo script en mi github al que he llamado rpkgsync. Tenía ganas de escribirlo hace tiempo, pero no encontraba el momento, así que a ratos, entre ayer y hoy lo he terminado de preparar. En principio, es una primera versión que no tiene errores de escritura de código, pero que tendré que probar para ver si cumple todas mis espectativas.

Como ya he comentado en alguna ocasión, he comprobado que cuando 30 portátiles de alumno se conectan a la red vía wifi, en muchas ocasiones no pueden navegar por internet. Y uno de los problemas de que no puedan hacerlo es que muchas veces el sistema operativo de los mismos está actualizando paquetes en segundo plano de forma transparente para el usuario, sobre todo cuando se ejecuta pkgsync. Pienso que si estuvieran conectados vía ethernet, no habría tanto problema, pero la red wifi, en la práctica, no da tanto ancho de banda como el cable; incluso aunque utilicéis un punto de acceso de 300 Mbps porque en muchos casos no llegaréis ni a los 65 Mbps.

Si todos los portátiles se actualizaran con regularidad y una cierta frecuencia, estoy seguro de que tampoco habría problema, pero es algo que no podemos garantizar. 

Por lo tanto, si partimos determinando cuál es nuestra situación real:
  • Los portátiles no se encuentran permanentemente conectados a la red.
  • Se actualizan sólo cuando se conectan a la red.
  • Cuando se conectan a la red, lo hacen vía wifi.
  • En ocasiones, se usan todos a la vez, y si hay muchas actualizaciones de software por realizar, los usuarios no pueden navegar. El ancho de banda lo está consumiendo el sistema de actualización de paquetes de todos los estos portátiles.
  • Algunos portátiles se usan mucho menos que otros. Se encienden poco, y, por lo tanto, cuando se enciendan, probablemente van a tener que realizar muchas actualizaciones de software. 

Teniendo en cuenta todo ésto, mi opinión personal (y no quiero decir que sea lo que deba hacerse porque yo lo diga) es que lo mejor sería dejar desactivado pkgsync y realizar instalaciones puntuales de software tan sólo cuando sea necesario vía puppet, dejando pkgsync para lanzarlo de forma expresa por parte del administrador cuando se crea conveniente.

Para tratar de solucionar el problema, la idea sería desactivar la ejecución de pkgsync en portátiles y colocar el script rpkgsync en el servidor de aula, de tal manera que ejecutáramos este script en el servidor de aula para que este lanzase pkgsync en los portátiles que detecte encendidos de una forma no concurrente.

Como ya he comentado ésta seguramente sea sólo una primera versión porque podría ser necesario lanzar las ejecuciones de pkgsync en diferentes portátiles de una forma "más espaciada", salvo que el trabajo que se esté realizando en ese momento sea solamente actualizarlos sin importar que quede ancho de banda disponible para navegar, por ejemplo.

Publicado por primera vez en http://enavas.blogspot.com.es

Sistema de pantalla informativa basado en Google Docs Presentations

Basándome en el excelente trabajo de Long Zheng (http://www.istartedsomething.com/20130618/work-hack-use-google-docs-to-create-an-automatically-updating-tv-kiosk-presentation/), he montado el sistema de presentación de noticias de mi centro.

Me gustó mucho su idea de utilizar Google Docs Presentations por varias cuestiones:
  • Primero de todo, por la sencillez del sistema.
  • Segundo, porque no es necesario un técnico para gestionar la presentación.
  • Tercero, porque permite crear las presentaciones de forma remota fuera del dispositivo que las presenta.
  • Cuarto, porque se pueden añadir todo tipo de elementos a las presentaciones.
  • Quinto, porque se puede organizar las presentaciones como quiera el propio creador.
  • Sexto, porque nos permite realizar las presentaciones en pantalla completa y en formato panorámico.
Os voy a explicar básicamente lo que he hecho:

He creado una carpeta compartida en la cuenta de Google Drive, a la que he llamado web. Dentro de ella he colocado dos archivos:

El archivo index.html creado por Long Zheng es el que se encargará de cargar la presentación:

El otro archivo, al que he llamado presentacion, contiene la presentación en formato 16:9 porque estamos usando una TV panorámica 16:9 para mostar las presentaciones.

Una vez creados, tomamos nota (copy-paste) de las URL de ambos archivos porque:

  • La url del archivo index.html será la que usemos para iniciar la presentación en el navegador.
  • La url del archivo presentacion tendremos que colocarla dentro del archivo index.html en el lugar de la que Long Zheng tiene en el archivo que muestra en github, más que nada para que muestre nuestra propia presentación.

Por otra parte, como el dispositivo que visualiza las presentaciones en mi centro es un dispositivo Android, he instalado la aplicación Kiosk Browser (https://play.google.com/store/apps/details?id=it.automated.android.browser.kiosk), que me permite iniciar la presentación directamente en pantalla completa. También he probado otras aplicaciones android, pero no han dado el resultado que esperaba, así que me quedo con ésta.

El resultado es bastante vistoso.

Publicado por primera vez en http://enavas.blogspot.com.es