wiki:Browser

Version 1 (modified by adelcastillo, 15 years ago) (diff)

--

Browser

Programa creado con idea de mostrar los menús con las distintas opciones que el cliente puede elegir. Esta opciones puede ser, por ejemplo, instalar un sistema, arrancar un sistema ya instalado, apagar el sistema, o en modo administrador pasar imágenes creadas, etc. Las características que debe tener el programa son:

  • Ser cápaz de leer html y javascript.
  • Funcionar en modo consola (con framebuffer) como en las X11.
  • Saber interpretar comandos y ejecutarlos.
  • Mostrar la salida de los comandos y en su caso guardarlos en un fichero de log.

Estas características han hecho que se desarrolle con qt. Permite realizar todos los objetivos anteriores con cierta facilidad, además de permitir crecer el programa exponencialmente sin que las bases (las librerias) se queden cortas o haya que plantearse un cambio.

Por ahora sólo se ha probado en el cliente initrd con framebuffer. Un problema que puede ocurrir es que como trabaja en modo pantalla completa, si la página no carga queda en un estado de bloqueo al no poder cerrarlo. No se permite cerrarlo pues el usuario podría aprovechar esa característica para atacar el sistema. Queremos un sistema que no permita darle más opciones al usuario que las que permita el menú, siendo más simple para el usuario y más seguro para los administradores. Fruto de este problema, el programa para arrancar necesita un argumento que tiene que ser una página web. Este argumento puede ser de dos tipos:

Fijarse que hace falta siempre el argumento -qws, que al no existir un sistema de ventanas le indica al ejecutable que debe capturar los eventos por si mismo. Luego podemos arrancarlo indicándole la ruta de un fichero html. Otra posibilidad es conectarse a un servidor web. En este caso prestar atención en que hace falta poner el protocolo http delante para que funcione correctamente.

En el estado actual si encuentra seteada la variable $OGLOGFILE salvará la salida de los scripts con la fecha y hora delante.