En algunas ocasiones el modo kiosko en Raspberry Pi será muy importante dentro de los proyectos en los que te encuentres trabajando debido a que esto permitirá el uso de una única aplicación bloqueando la posibilidad de utilizar otras más, esto quizás porque el proyecto requiere el uso de todos los recursos en una sola aplicación.
También es posible bloquear el uso del ratón si la pantalla que te encuentres manejando sea touch o que solo quieras que sea usado mediante el teclado, en este caso no se implementará esta funcionalidad.
Primero se requiere configurar Raspbian para evitar el modo reposo, se debe modificar el archivo lightdm.conf utilizando el comando sudo nano /etc/lightdm/lightdm.conf se deberá agregar las siguientes líneas en la sección de SeatDefaults:
xserver-command=X -s 0 dpms
Si lo que deseas es ocultar también el mouse, lo único que tendrás que agregar es el unclutter:
sudo apt-get install unclutter
Ahora si se planea ejecutar el navegador midori, y enviar al usuario al buscador de Google, se tendría que configurar de la siguiente manera (cabe destacar que puedes enviar a cualquier página que desees con esta misma configuración):
Ejecutamos primero el siguiente comando: sudo nano /etc/xdg/lxsession/LXDE/autostart
Se agregan las siguientes líneas:
@xset s off @xset -dpms @xset s noblank
@midori -e Fullscreen -a http://www.google.com/
Es importante que se comenten todas las configuraciones que tiene el archivo autostart para que únicamente se ejecute el navegador y nos envíe a Google.
Con esta configuración podrás agregar tu usuario y contraseña al momento de iniciar Raspbian en el Raspberry Pi y se abrirá el navegador automáticamente.
Auto login en Raspberry Pi con StartX
Ahora si lo que quieres es que se ejecute un script para un auto login automático, aprovecharas al máximo el modo kiosko del Raspberry Pi mediante la ejecución del comando sudo nano /etc/inittab y seguir los pasos:
- Encontrar la siguiente línea en el archivo inittab: 1:2345:respawn:/sbin/getty 115200 tty1
- Comentar la línea: #1:2345:respawn:/sbin/getty 115200 tty1
- Por último ingresar esta línea justo debajo de lo que se ha comentado: 1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
Otra forma para configurarlo el auto login en Raspberry Pi mediante el startx es encontrando esta línea en el mismo archivo previamente mencionado:
1:2345:respawn:/sbin/getty –noclear 38400 tty1
En mi caso no pude encontrarla, es posible que sea por la distribución que se utilizó para esta prueba (2013-09-25-wheezy-raspbian), la verdad lo desconozco, pero comento esta línea:
#1:2345:respawn:/sbin/getty –noclear 38400 tty1
Justo debajo de este se agrega el siguiente:
1:2345:respawn:/bin/login -f $Usuario </dev/tty1 >/dev/tty1 2>&1
Donde $Usuario es el usuario que te encuentras trabajando en mi caso sería de la siguiente manera:
1:2345:respawn:/bin/login -f $Usuario </dev/tty1 >/dev/tty1 2>&1
Se guardan los cambios y se reinicia el Raspberry Pi y lograrás la configuración así:
LXDE en Raspberry Pi
También podemos configurar que el startx con LXDE del Raspberry Pi se ejecute de manera automática, ya que este también es conocido como el modo gráfico de Raspberry Pi, se puede hacer modificando el siguiente archivo: sudo nano /etc/rc.local
Se van hacia el final del archivo y justo arriba del exit 0 se agrega la línea: su -l pi -c startx
Esto permitirá ejecutar también el modo gráfico de manera automática.
Script automatico en Raspbian
Ahora sí se ocupará por alguna razón ejecutar más scripts de manera automática se tendría que crear el archivo en el directorio home:
$ nano ~/node.sh
En mi caso ejecutó varios comando desde el mismo script por lo tanto se quedaría de la siguiente manera:
#!/bin/bash
echo node.sh : Ejecutando servidor
cd ~/proyectoT
sudo chmod 775 /dev/ttyUSB0
node server-movil.js &
Modificamos el archivo para poder hacerlo ejecutable:
chmod ugo+x ~/node.sh
Ya creado el script con los comandos que ocupas ejecutar, se procede a modificar el siguiente archivo:
sudo nano ~/.bashrc
Dónde nos dirigimos al final del archivo y agregamos las siguientes líneas:
# Run node server
echo .bashrc: Ejecutando servidor node.js
bash node.sh
Se vuelve a reiniciar y ya tendremos listos todos los comandos a ejecutarse sin ningún problema en Raspbian.