Un cliente nos contactó por si había alguna solución para mostrar un navegador permanentemente en un ordenador que estaba colgado en una pared mostrando una web en la que daba información, vídeos, etc, de forma autónoma. Es decir, que cuando lo enchufen, aparezca la web y que si lo desenchufan no se rompa.

Ahora mismo tenía un PC con windows, con lo que ello supone en coste de hardware, licencias, mantenimiento, escasa configurabilidad, y problemas por los apagados bruscos.

Le aconsejamos una Raspberry Pi 3, porque tiene wifi, aparte de ser un quad-core de 64 bits y de bajo consumo. Al utilizar Linux, se puede instalar SSH para poder controlarlo remotamente, OpenVPN para que conecte a una intranet, herramientas de despliegue remoto como fabric o ansible, etc.

Nos basamos en la Raspbian Jessie Lite para tener la última distribución y ahorrando espacio en la tarjeta SD.

También nos basamos en el tutorial de Dan Purdy aunque está desactualizado en lo referente a Debian Jessie.

Procedimiento resumido:

apt-get install lxde-core  # window manager basico
apt-get autoremove --purge xscreensaver-*  # annoyance
apt-get install network-manager-gnome  # configuracion de red local
apt-get install lightdm  # para el autologin
raspi-config  # opcion 3, subopcion B4 autologin con user pi

Para instalar chromium browser es necesario localizar un repositorio porque en el de Debian Jessie (armhf) no está. Desde Canonical chromium builds lo podemos conseguir ejecutando las siguientes lineas:

echo deb http://ppa.launchpad.net/canonical-chromium-builds/stage/ubuntu vivid main \
  > /etc/apt/sources.list.d/canonical-chromium.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB69B232436DAC4B50BDC59E4E1B983C5B393194
apt-get update
apt-get install chromium-browser

Y por ultimo, borrar toda la carpeta /etc/xdg/autostart salvo el fichero nm-applet.desktop y crear un fichero chromium.desktop que contenga:

[Desktop Entry]
Name=Network
Exec=chromium-browser --app=http://la.web.que.sea --incognito --kiosk --user-data-dir=/tmp/chromiumkiosk
Terminal=false
NoDisplay=true