Inicio de Sistema Operativo

Guía de configuración para el arranque de Debian 13 (Kiosco / Admin con Login)

01 / Arquitectura de la Solución

Para lograr un sistema seguro y profesional, no utilizaremos auto-login. El sistema arrancará en una pantalla gráfica de inicio de sesión de LightDM, donde el operador podrá elegir el modo de trabajo ingresando la credencial correspondiente.

Diagrama de Flujo de Inicio de SO
💡 Ventaja de este Enfoque
Al requerir contraseña para ambos usuarios, eliminas la necesidad de programar complejos scripts de interrupción durante el arranque (como GRUB o Systemd). El sistema es 100% estándar, seguro y fácil de mantener.

02 / Configuración de Usuarios y Pantalla de Login

Crearemos los dos usuarios independientes y configuraremos el gestor gráfico LightDM para que muestre una lista visual de los usuarios disponibles.

Paso 1: Crear los usuarios Kiosk y Admin

Crearemos ambos usuarios y estableceremos sus respectivas contraseñas:

# Crear usuario kiosk con contraseña
sudo adduser kiosk

# Crear usuario admin (si no existe ya en tu instalación)
sudo adduser admin

# Añadir kiosk a grupos para reproducción de video y audio
sudo usermod -aG video,audio,input kiosk

Paso 2: Configurar la Pantalla de Login (LightDM)

Debemos asegurarnos de que el inicio automático (auto-login) esté desactivado y que la pantalla de bienvenida muestre la lista de usuarios para facilitar la selección con el ratón.

Edita el archivo /etc/lightdm/lightdm.conf y verifica que las siguientes directivas estén así bajo la sección [Seat:*]:

# Editar con: sudo nano /etc/lightdm/lightdm.conf

[Seat:*]
# Asegurarse de que no haya ningún autologin configurado (dejar comentado o vacío)
# autologin-user=

# Habilitar que se muestre la lista de usuarios visual
greeter-hide-users=false
greeter-show-manual-login=false

Reinicia el gestor gráfico para aplicar los cambios:

sudo systemctl restart lightdm

03 / Silent Boot y Plymouth (Animación de Carga)

Configuraremos Debian para ocultar los mensajes de texto del sistema operativo durante el encendido, reemplazándolos por una animación gráfica limpia.

Paso 1: Parámetros silenciosos en GRUB

Modifica el archivo /etc/default/grub para ocultar los logs del Kernel:

# Abrir el archivo: sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=3 systemd.show_status=false rd.udev.log_level=3 vt.global_cursor_default=0"

Aplica los cambios en el cargador de arranque:

sudo update-grub

Paso 2: Configurar Plymouth

Instala Plymouth y activa la animación circular por defecto (spinner):

sudo apt update
sudo apt install plymouth plymouth-themes
sudo plymouth-set-default-theme -R spinner

04 / Configuración del Modo Kiosco (Openbox)

Openbox será el entorno gráfico minimalista que cargará exclusivamente cuando inicies sesión como el usuario kiosk.

Paso 1: Crear el script de autoinicio

Crea el directorio de configuración para el usuario kiosk:

sudo -u kiosk mkdir -p /home/kiosk/.config/openbox

Crea el archivo de arranque /home/kiosk/.config/openbox/autostart:

# Editar archivo: sudo nano /home/kiosk/.config/openbox/autostart

# Desactivar suspensión y protector de pantalla
xset s off
xset -dpms
xset s noblank

# Iniciar tu aplicación en un bucle infinito
while true; do
    /ruta/completa/a/tu/aplicacion-grafica
    sleep 1
done &

Otorga los permisos correctos al archivo:

sudo chown -R kiosk:kiosk /home/kiosk/.config
sudo chmod +x /home/kiosk/.config/openbox/autostart

Paso 2: Bloquear combinaciones de teclado

Para evitar que los usuarios utilicen atajos del sistema para cerrar la aplicación, puedes modificar el archivo /etc/xdg/openbox/rc.xml y eliminar las combinaciones asociadas a Alt+F4, Alt+Space y cambio de ventanas.

05 / Control desde la Aplicación

Dado que en la sesión de Kiosco no hay menús del sistema operativo, tu aplicación debe proveer la funcionalidad para Cerrar Sesión y Apagar el hardware directamente mediante botones integrados.

Paso 1: Configurar permisos especiales sin contraseña (Sudoers)

Permitiremos al usuario común kiosk ejecutar los comandos de apagado y cierre de sesión de forma privilegiada y sin pedir clave. Crea el archivo /etc/sudoers.d/kiosk-power:

# Crear y editar el archivo: sudo visudo -f /etc/sudoers.d/kiosk-power

# Permitir al kiosk apagar la PC y terminar su propia sesión gráfica
kiosk ALL=(ALL) NOPASSWD: /usr/bin/systemctl poweroff, /usr/bin/loginctl terminate-user kiosk

Paso 2: Programar las acciones en los botones de tu App

Desde el código de tu aplicación gráfica, programa los eventos de los botones:

Botón "Apagar Sistema"

Ejecuta el comando para apagar la computadora de forma segura:

sudo systemctl poweroff

Botón "Cerrar Sesión"

Ejecuta el comando para cerrar la sesión de Kiosco y regresar a la pantalla de LightDM:

sudo loginctl terminate-user kiosk

06 / El "Modo Administrador" (Acceso a XFCE)

El modo administrador te permite realizar mantenimiento técnico y desarrollo sobre tu escritorio XFCE completo sin reiniciar el equipo.

Pasos para ingresar al Modo Administrador:

  1. Desde el modo Kiosco, haz clic en el botón "Cerrar Sesión" de tu aplicación.
  2. El sistema cerrará Openbox y volverá inmediatamente a la pantalla de inicio de LightDM.
  3. Haz clic en el usuario admin en la lista gráfica.
  4. Ingresa su contraseña.
  5. Asegúrate de que en el selector de entornos esté marcado XFCE (solo la primera vez) e inicia sesión.
  6. Una vez finalizado el mantenimiento, cierra sesión en XFCE para volver a LightDM y dejar el equipo listo para el usuario de Kiosco.
⚠️ Recuperación ante bloqueos de la App
Si tu aplicación se congela y no puedes hacer clic en el botón de Cerrar Sesión, presiona Ctrl + Alt + F2 en el teclado para iniciar sesión como administrador en una terminal de comandos limpia, y ejecuta sudo systemctl restart lightdm para forzar el retorno a la pantalla de login.