Herramientas de usuario

Herramientas del sitio


notas:browser_kiosk_con_slax_linux

Creación de un browser kiosk con SLAX Linux

Para la PC de consulta en la Biblioteca del INMABB.

Links:

Luego de leer algo del material citado, empiezo por descargar el iso de la versión más reciente de Slax (6.0.3, publicada el 18 de marzo de 2008), de 191 MB.

Mientras baja (lentamente, menos de 30 KB/s), averiguo cómo montar una imagen de CD (.iso) en Linux, para poder modificar lo que sea necesario y luego recrear un iso. Uso gmountiso, según se explica en Easy way of Mount/Unmount .iso Images in Ubuntu. (Hay también otras soluciones, como usar un comando, o un script para Nautilus.)

Abro la imagen con VirtualBox, usando una máquina virtual de 128 MB de RAM, y anda bien. Pero con 64 MB se cuelga, la primera vez aún en modo texto, y la segunda en modo gráfico,antes de terminar de “armar” el escritorio. Veamos si usando un escritorio más liviano que KDE esto se soluciona.

Monto la imagen en ~/Desktop/slax, hago una copia en ~/slax, y ahí puedo empezar a hacer modificaciones, siguiendo las recomendaciones de los artículos citados arriba. La copia tengo que hacerla como root, y luego cambiar el dueño de la carpeta rootcopy para que me permita escribir en ella.

Lo que necesito es:

  • Conseguir Firefox para Slax (por defecto sólo está Konqueror)
  • Configurar el proxy para el navegador (no necesario para direcciones locales)
  • Incluir la extensión r-kiosk para Firefox (ya está)
  • Incluir un archivo xinitrc modificado, que se ocupa de ejecutar Firefox con la URL indicada y la extensión cargada, de iniciar un manejador de escritorio que no sea KDE, …
  • Ajustar la resolución ?

Leer estas indicaciones.

Quiero copiar desde la máquina virtual a mi disco el archivo xinitrc para poder editarlo, pero no puedo hacerlo hasta no haber instalado las “Guest additions” para esa máquina virtual, y no recuerdo cómo se hace (ya lo hice para la MV de Win2K). Solución para salir del paso: entré a Gmail con Konqueror y me los mandé :-)

Atención: según el foro de Slax, Firefox es bastante más lento que Konqueror, así que tal vez podríamos usar solamente Konqueror, tal como viene. La duda es si se puede usar Konqueror sin tener que cargar KDE.

Modificaciones

Cambio #1: cambio el archivo xinitrc (copia de xinitrc.kde) por xinitrc.fluxbox.

Ejecuto

sudo ./make_iso.sh /home/fernando/Desktop/slax-6.0.3-fluxbox.iso

pero no encuentra mkisofs, así que instalo ese paquete.

Creo el iso, quiero arrancar la máquina virtual booteando desde la nueva imagen, pero VirtualBox no me permite usar la VM que había creado para Slax, no entiendo qué pasó.

Hago bootear la otra VM, la que uso para Win2K, desde el CD (i.e. usando la nueva imagen de Slax). Arranca bien, aunque no noto diferencia con el escritorio original. Curiosamente, ahora que está andando esta VM, VirtualBox me permite usar la VM que creé para Slax!

Cambio #2: omitir el inicio de kde/fluxbox, e iniciar directamente el browser.

sudo ./make_iso.sh /home/fernando/Desktop/slax-6.0.3-konqueror.iso

Resultado: todo sigue igual, no tiene ningún efecto.

El resto de las peripecias se puede seguir en http://www.slax.org/forum.php?action=view&parentID=5968

También mandé la consulta al BBLug, http://thread.gmane.org/gmane.user-groups.linux.bblug.main/7553

Back to Popcorn

Viendo que las sugerencias que iba recibiendo no me llevaban a un rápido desenlace, decidí ir a lo seguro: aplicar la receta original de Eric Hartwell, bajando su imagen Myslax-popcorn-5.1.8.iso, y editándolo para adaptarlo a mis necesidades.

Probé el iso, arranca bien. Abre el Firefox, y no puede acceder a la URL predeterminada por no tener configurado el proxy. Firefox aparece completamente pelado, sin barras ni botones.

Monto el iso, copio el contenido (como root), y hago las siguientes modificaciones:

  • En rootcopy/etc/X11/xinit/xinitrc, cambio la URL inicial para Firefox. Resultado exitoso.
  • Abro rootcopy/etc/r-kiosk-0.5.2-firefox.xpi con File Roller (pues es un archivo ZIP), y modifico rkioskbrowser.xul, para ver si aparecen los botones básicos en Firefox, i.e. Back, Forward, Stop, Refresh. Esto no funcionó.

Las pruebas las hice con 96 MB de RAM en la MV. Ahora pruebo con 64 MB, y tarda mucho.

Según https://addons.mozilla.org/en-US/firefox/addon/1659,

You can enable Navigation toolbar by adding the following to user.js:
user_pref("rkiosk.navbar", true);

user.js es un archivo que vive en el profile folder del usuario. Ver: User.js file. Pero creo que no puedo usar rootcopy para almacenar allí el archivo user.js, pues el directorio donde debe alojarse (el correspondiente al perfil del usuario) no es creado hasta que arranca Firefox, y su nombre no se puede predecir. Una solución sucia sería: volver a abrir el xpi, editar el archivo rkioskbrowser.js, comentar las líneas donde se deshabilita la barra de navegación, y volver a meterlo en el xpi. No funcionó.

Sí comprobé que funciona si creo un archivo user.js una vez que Firefox está andando (en /root/.mozilla/firefox/kxursh2i.default), y luego lo reinicio. La barra de navegación incluye además botones para cerrar, des-maximizar y minimizar la ventana del browser. Al minimizarla, deja de verse, y hay que usar ALT+TAB para volver a verla.

Noté que en sucesivos arranques del sistema, el profile de Firefox se creaba en el mismo directorio: /root/.mozilla/firefox/kxursh2i.default. Entonces usé rootcopy para almacenar allí un archivo user.js según lo indicado más arriba. Y con eso ya tenemos la barra visible.

Queda por ver si se puede eliminar de la barra los botones innecesarios (y posiblemente molestos): cerrar, cambiar tamaño.

ATENTI: ALT+F2 permite abrir el diálogo Run program, así que tan tan seguro no es esto. Así p.ej. pude abrir el mc, y eso me ayudó a explorar el estado del sistema mientras desculaba lo de user.js. Otra interesante opción es correr xterm. Recordemos que el usuario es root!

Proxy: sería bueno configurar el proxy, para poder acceder por ejemplo a ams.org. Añadí estas líneas a user.js:

user_pref("network.proxy.http", "proxy.uns.edu.ar");
user_pref("network.proxy.http_port", 1280);

Pero no dan resultado.

Otro posible problema: el botón “Home” lleva a una página en blanco, pues no hay una página de inicio configurada. Solución: una nueva línea en user.js:

user_pref("browser.startup.homepage", "http://inmabb.criba.edu.ar/catalogo/");

Prueba de fuego

Con esa versión del iso, lo pasé a CD y fui a la PC (ex-Inés). Tal como sospechaba por la prueba hecha en la MV de 64 MB, no arranca Firefox. O tarda más de lo soportable.

En la MV bajé a 80 de RAM, y ahí sí arranca. Con 72 MB se toma su tiempo, pero también arranca, y anda bien (algo lento).

¿Podremos probar con otro browser más liviano? ¿Cómo se haría eso?

linux kiosk

notas/browser_kiosk_con_slax_linux.txt · Última modificación: por 127.0.0.1