MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

TcosMonitor 0.0.8

Como ya decia en otro artículo entre examen y examen he estado trabajando en un monitor para redes de clientes ligeros, en las anteriores versiones sólo obtenía información del terminal, ahora es posible realizar acciones simples o incluso complejas.

Creo que este proyecto aporta muchas cosas que no tiene ni PXES ni LTSP como una herramienta sencilla para configurar cada terminal por separado, y de manera gráfica. Sigo bastante ilusionado porque creo que tengo entre mis manos una nueva «killer-app», el código python aún está muy guarro, espero después de exámenes limpiarlo y mejorar el control de errores, casi inexistente ahora.

He dejado los últimos paquetes en el repositorio de TCOS:

deb http://soleup.eup.uva.es/tcos/debian unstable main

Adjunto unas cuantas capturas, airé comentando cosas sobra cada captura.

Capturar la pantalla del terminal:
Scrot + busybox http (solución un poco cutre pero efectiva, <0,7 seg en hacer y descargar una captura de pantalla)




Ver configuración de Xorg:
Muchas de estas variables se pueden editar, en la siguiente captura veremos como.


Personalizar configuración de Xorg para un equipo concreto:



Reiniciar Xorg con la nueva configuración (la configuración una vez guardada es permanente y la descargará el terminal cada vez que arranque):



Nueva captura de pantalla (GDM) esta vez a 800x600 @ 60Hz:



Aquí se ven los 800x600 en la actualización de la información:



Abrimos una sesión ssh contra el terminal:



Comandos ejecutados en el terminal con busybox ash ( free, hostname, uname -a, uptime):
El equipo de pruebas tiene mogollón de RAM pero en 64 Mb prometo que funciona igual de bien.


Bloquear y desbloquear pantalla en el terminal (en la lista de host aparece el candado rojo cuando está bloqueado):
El teclado y el ratón también dejan de responder.


Ejecutar aplicación en la pantalla del usuario (xterm por ejemplo, mira la captura):





Diálogo de preferencias generales ( intervalo de auto-actualización, método de descubrimiento de equipos (netstat o ping) interfaz de la red thin client (para el ping) ):
Para ver equipos conectados se hace un netstat filtrando a las conexiones del puerto 6000, el método ping, mucho más lento pero potente hace un ping a toda la red y devuelve los equipos vivos (clientes ligeros, routers, etc...)


Usuario y contraseña de tcosxmlrpc:
Estos datos no van encriptados por lo que es posible verlos por la red, al ser información no demasiado importante (en el terminal y por medio de tcosxmlrpc sólo se pueden ejecutar algunas cosas, matarlas o reiniciar/apagar terminal, no se puede borrar o acceder a información importante). Además los comandos que se pueden ejecutar no aceptan parámetros por lo que un rm -rf se quedaría en un rm a secas dadno error de falta de archivos o modificadores.
Además la mayoria de las redes thin client no son públicas, se suelen usar redes separadas para minimizar el impacto en otras redes (tipo 192.168.0.X), por lo que los únicos que pueden "esnifar" las contraseñas son los mismos usuarios de la red.



Información que pediremos a tcosxmlrpc (alguna opción puede ser bastante pesada, como PCI, o los módulos del kernel):

Es bastante interesante la información de los módulos, ya que se reciben dos variables, los modulos cargados (lsmod) y los módulos que discover ha intentado cargar y no ha encontrado, gracias a esto podemos saber qué componentes del equipo no funcionan por falta de módulos y rehacer la imagen con los módulos que faltan. (He estado pensando que incluso crear un fichero automáticamente desde TcosPersonalize tipo 192.168.0.X.modules.squashfs para la máquina que queramos)

Todos las preferencias se guardan en un archivo de la home del usuario que lo ejecute (~/.tcosmonitor.conf && chmod 600) y la configuración personalizda por terminal se guarda en /tftpboot/tcos/conf/dir_ip.conf (se pedirá la contraseña de root si ejecutamos TcosMonitor como usuario) así cada terminal que tiene asignada una ip por mac en el servidor DHCP, se descarga su configuración personalizada. De momento se puede personalizar casi todas las opciones de Xorg mediante un pequeño script llamado configurexorg, lo ideal es que se puedan configurar/personalizar casi toda la configuración del terminal como es el soporte extra de aplicaciones como iTALC (que también se puede lanzar desde TcosMonitor), VNC, o aplicaciones empotradas (un navegador web, freenx, etc...) o incluso soporte para paquetes klik.
Articulos relacionados:

Comentarios

Comentarios cerrados