miércoles, 31 de mayo de 2017

Configurar la raspberry pi en modo kiosko

Poner un ordenador en modo kiosko es hacer que un ordenador arranque con un navegador sin opciones en una determinada página web y sin posiblidad de cerrarlo.
Esto es muy útil para congresos, demos, máquinas de bienvenida, etc...

1. Partimos de una raspbian jessie with pixel recién descargada de su página oficial, muy fácil de instalar desde cualquier linux.
El proceso es bastante sencillo y rápido si se hace desde la consola de linux:

2. Arrancamos la raspberry con la tarjeta dentro.

3. Ejecutamos
sudo raspi-config
Hay que cambiar los siguientes valores:
  • Change user password :: ponemos la que queramos siempre que no sea la de por defecto ni ninguna demasiado fácil de adivinar.
  • Hostname :: ponemos el nombre del equipo
  • Localizasion options:
    • Change locale :: cambiamos las locales y el idioma por defecto a es_ES_utf8
    • Change Timezone :: elegimos Europe Madrid
    • Change keyboard layout :: elegimos es_ES
  • Interfacing options:
    • SSH :: lo activamos
    • VNC :: lo activamos
  • Advanced options:
    • Expand filesystem :: elegimos esta opción para que la partición ocupe todo el espacio disponible en la tarjeta
4. Salimos de raspi-config y reiniciamos.

5. Configuramos la red, si es necesario (IP fija y/o proxy).

6. Automatización. Hay que crear dos archivos:
  • Si lo que queremos es interactuar con una página web creamos el archivo /usr/local/bin/mylauncher con el siguiente contenido:
#!/bin/bash
chromium-browser --kiosk http://www.pagina_a_la_que_accedo.com
  • Si lo que queremos es que se ejecute un vídeo de manera continua hay que cambiar la línea que abre el navegador por algo así:
omxplayer -o local --loop /home/pi/mivideo.mp4
  • Asignamos permiso de ejecución a este archivo:
sudo chmod +x /usr/local/bin/mylauncher
  • /home/pi/.config/autostart/.desktop con el siguiente contenido:
[Desktop Entry]
Type=Application
Exec=mylauncher 
7. Evitar que se oscurezca la pantalla:
Añadimos la siguiente línea a /etc/lightdm/lightdm.conf en la sección [SeatDefault]:
xserver-command=X -s 0 dpms

8. Control remoto:
Si necesitamos reiniciarla o manejarla a distancia necesitamos acceder a ella desde control remoto, tiene que ser desde otro ordenador que esté en la misma subred (también vale tu smartphone).
  • Para conectarnos por VNC a la misma pantalla que se muestra añadimos a /etc/rc.local la siguiente línea:
/usr/bin/x11vnc -bg -forever -passwd laclavequeusemosparavnc
Ahora nos podríamos conectar con cualquier cliente VNC introduciendo la IP/nombre de red de la raspberry y la clave elegida.

  • También nos podemos conectar por ssh para ejecutar comandos de consola:
ssh pi@ip_o_nombre_de_red_raspberry
En este caso nos pedirá la clave que le introdujimos con raspi-config.
  • Se puede ejecutar programas gráficos sueltos también por ssh, pero en este caso tenemos que habernos conectado con el comando:
ssh -XC pi@ip_o_nombre_de_red_raspberry
  • Hay un truco para reiniciar la raspberry sin pegarle el botonazo si se queda colgada por red:
ssh -t pi@ip_o_nombre_de_red_raspberry 'sudo shutdown -r now'

¡Y ya está! con toda esta información puedes montar tu raspberry en modo kiosko y gestionarla según tus necesidades.

Enlaces de interés


4 comentarios:

  1. Distribuciones específicas para modo kiosko https://hipertextual.com/2017/09/distribuciones-linux-modo-kiosko-pantalla-completa

    ResponderEliminar
  2. Buenas!! podrías darme una mano... estoy siguiendo el tutorial, pero quede entrampado en el paso 6... como puedo crear el archivo mylauncher?

    Muchas gracias y saludos desde Chile

    ResponderEliminar
    Respuestas
    1. Con cualquier editor de texto, ya sea desde consola o en modo gráfico.

      Eliminar
  3. Buenos días, necesito una ayuda, tengo la raspberry pi 4, serian seguir los mismos pasos mencionados arriba para el software Raspbian Buster, en vez de raspbian jessie with pixel, y Raspbian Buster, necesitaria el normal o lite?.
    Muchas gracias

    ResponderEliminar