Oscar's Blog

Blog de Oscar Valenzuela - GNU con Linux, Free Software, Android, Hacking

Boot to Browser: Estación de Navegación GNU/Linux

13 Aug 2012


En muchos casos me ha tocado ver, que surge la necesidad de contar con estaciones de trabajo que solo permitan navegar, es decir, que al encender solo parta el navegador sin muchas otras cosas, un concepto conocido como Boot to Browser o al spanglish, iniciar y cargar el navegador.
Para contar con una maquina que cumpla esta función, deberemos tener instalada una maquina como cualquiera, con el sistema operativo GNU/Linux del sabor que se quiera, por supuesto, en mi caso usaré un Centos 6.0 con un kernel modificado, pero ahí ven ustedes que prefieren usar.
PASO 1:
Lo primero entonces, es instalar nuestra distribución favorita al equipo, es recomendable que el equipo destino tenga un hardware decente, considerando que HTML5 ayuda, pero no tanto.
PASO 2:
Luego de instalado, deberemos crear un lanzador de aplicaciones, este lanzador se encargará de iniciar nuestras aplicaciones y el servidor X, sin iniciar el gestor gráfico, para esto deberemos crear en /usr/local/bin/ el archivo launch con el siguiente contenido:
nano /usr/local/bin/launch
#!/bin/bash
rm ~/.xinitrc
echo exec $1 > ~/.xinitrc
startx
Luego otorgamos los permisos necesarios:
chmod +x /usr/local/bin/launch
PASO 3:
Luego, en caso de que hayamos habilitado el inicio de sesión gráfica, deberemos configurar inittab para que el runlevel por defecto sea 3, deberemos entonces, buscar una linea similar a esta:
id:5:initdefault:
y cambiarla así:
id:3:initdefault:
Esto, cambiara el modo de funcionamiento de nuestro sistema e iniciaría solo el modo consola en multiusuario. Este cambio lo realizamos para probar nuestra configuración antes de dejarlo listo, claro que existen muchas maneras para probar, pero la mas simple es aplicar estos cambios y reiniciar el equipo.
PASO 4:
Al iniciar veremos que el equipo inicia solo en modo consola, nos logeamos con el usuario elegido y tipeamos lo siguiente: launch firefox
Si todo ha salido bien, entonces tendremos disponible nuestro navegador favorito en un modo donde solo se despliega esta aplicacion y sin menus, ventanas, ni cosas adicionales. Como siempre para volver al modo normal, podremos usar ctr+alt+f1 donde nos llevara a una nueva consola.
PASO 5:
Si ya hicimos la prueba, entonces nuestro archivo .xinitrc sera cambiado para tener el comando que directamente iniciará nuestro X con el navegador, por lo que ahora solo nos resta modificar nuevamente el sistema, para que inicie solo con estos cambios, lo que se logra modificando nuevamente el archivo inittab, para volver a su configuración original:
id:3:initdefault:
Vuelve a ser así:
id:5:initdefault:
Y finalmente modificamos la linea similar a esta:
x:5:respawn:/etc/X11/prefdm -nodaemon
Por esta:
x:5:once:/bin/su – — root -l -c ‘/usr/bin/startx /dev/null 2>&1’
Cuando ya esto este listo, reiniciamos nuestro equipo y veremos iniciar nuestro navegador.
Un aspecto importante, es que estamos utilizando para pruebas y configuración el usuario root, lo cual es claramente NO RECOMENDABLE, por temas de seguridad. Entonces, se sugiere utilizar un usuario con menos privilegios, para esto deberemos ingresar a la shell del usuario en modo init 3 como en el paso 4 y ejecutar el comando launch firefox para que configure el archivo .xinitrc, luego cambiaremos en el paso 5 el nombre de usuario por root y el sistema quedara listo para ser utilizado como Boot to Browser con privilegios del usuario.
PASO 6:
Otro tema interesante de cambiar, por el simple hecho quizas de darle elegancia, es eliminar el mensaje que nos indica Firefox sobre restaurar la antigua sesión, para esto deberemos una vez iniciado Firefox ingresar en la barra de direcciones “about:config”, lo que nos permitirá ingresar a la configuración del navegador, luego usando el filtro buscamos el valor para “browser.sessionstore.resume_from_crash” que deberá estar en true, lo cambiamos haciendo doble clic sobre la linea, luego cerramos el navegador en “archivo >salir” y reiniciamos. De esta forma no preguntara cada vez que iniciemos, si queremos restaurar la sesión anterior.
PASO 7:
Finalmente si deseamos deshabilitar la opción de que cuando alguien presione “ctrl+alt+supr” el equipo se reinicie, después de todo nosotros aún podemos ingresar por consola y reiniciarlo, podremos editar nuevamente nuestro inittab para deshabilitar este comando:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
Por algo similar a esto:
ca::ctrlaltdel:/bin/echo “CTRL-ALT-DEL is disabled”
Y decimos a init que reinicie con:
init q
Happy Hacking!
Publicado originalmente por Oscar Valenzuela en http://ovalenzuela.xpertians.com – Puede ser compartido y copiado libremente, mientras mantenga esta nota.