¿Puedo hacer que Linux bloquee solo una aplicación?

Sí, no hay problema. Lo hice en una función anterior, donde originalmente teníamos máquinas Windows basadas en sitios de clientes; solo se confiaba en los clientes para romper cosas.

Los reemplacé con una instalación mínima de Debian sin un administrador de ventanas y con un inicio de sesión automático de la consola. Cuando inició sesión, su perfil lanzó un script simple que cargó la versión de Linux de PuTTY (OpenSSH no era compatible con el servidor por razones irrelevantes). NADA más fue cargado; no había ningún administrador de ventanas, nada en lo que Alt + Tab, ni combinaciones de teclas inteligentes para salir del modo kiosco, etc. Solo una aplicación GUI.

Aquí hay una guía aproximada sobre lo que debe hacer. Esto se basa en lo que estaba haciendo, por lo que se trata de PuTTY, el uso de actualizaciones desatendidas y el uso de fping para verificar si había una conexión a Internet disponible. Es algo técnico, avíseme si tiene problemas con alguna parte y puedo explicarle más.

  1. Instala Debian (Raspian para ti, me imagino)
  2. En la pantalla de selección de software, desmarque todo excepto las Utilidades del sistema estándar. Definitivamente elimine todas sus cosas GUI.
  3. Después de instalar y arrancar el sistema, ejecute su
    # apt-get update && apt-get upgrade && apt-get dist-upgrade
  4. # apt-get install desatendido-actualizaciones numlockx fping xinit putty -y
    (Tenga en cuenta que deberá configurar las actualizaciones desatendidas manualmente. Numlockx se usa para controlar el estado de Numlock. Fping fue para probar la conectividad a Internet).
  5. Reemplace el archivo .profile en el directorio de inicio del usuario. Es muy probable que no desee esto, pero vea a continuación el archivo .profile que utilicé. Todavía no estoy muy interesado en las secuencias de comandos Bash, pero fue funcional. La secuencia de comandos que se muestra esperará una conexión a Internet y luego iniciará una nueva secuencia de comandos. Cuando finalice ese nuevo script, le dará al usuario la oportunidad de relanzar el script; de lo contrario, apagará la computadora.

    Esta es la línea mágica que inicia el servidor X con una sola aplicación: xinit ~ / putty $ * -> / dev / null 2> / dev / null

  6. Cree una secuencia de comandos de ‘masilla’ en la carpeta de inicio del usuario. Esto activará el bloqueo numérico y luego lanzará Putty con el perfil guardado “bla”.

    #! / bin / bash
    numlockx en &
    masilla-carga bla

No pude descubrir cómo hacer todo esto dentro del script .profile, pero esta fue una solución funcional.

Todavía siento que era una solución muy funcional, y el resultado final es bastante elegante, a pesar de que hay muchas cosas técnicas onduladas en el fondo.

archivo de ejemplo .profile

# Desactivar Ctrl + C
trampa ‘2

# Espera por la red
claro
echo -n Esperando a que el servidor se conecte.
itest = $ (fping www.google.com 2> / dev / null | grep alive)
mientras que [“$ itest” == “”]
hacer
echo -n.
dormir .5
itest = $ (fping www.google.com 2> / dev / null | grep alive)
hecho

dormir 1
echo -e “\ n \ n¡En línea! Lanzando Putty …”
dormir 1

# Loop corriendo siempre xinit con Putty …
mientras [verdadero]
hacer
# Inicie una ventana Putty sin administrador de ventanas
xinit ~ / putty $ * -> / dev / null 2> / dev / null

# Después de cerrar Putty, vea si el usuario quiere apagar
echo -e “\ n \ n \ n”
lea -t30 -n1 -p “¿Desea cerrar ahora? [S, n]” doit
si [-z “$ doit”]; luego
doit = ​​’y’
fi
caso $ doit en
y | Y) sudo apagado ahora -P ;;
esac
hecho

# Captura de seguridad para apagar si el ciclo se corta
sudo apagado ahora -P

Supongo que estás buscando el “modo quiosco”. No lo he hecho yo mismo, pero he leído sobre personas que hacen ajustes para que esto sea posible. Aquí hay un script de ejemplo: cree un usuario de kiosco que lo haga. Google te dará más detalles.

Para el proyecto espejo mágico, utilizaron electrones que ejecutaban una aplicación en modo de pantalla completa. Sin embargo, aún puede acceder al escritorio.

No conozco un entorno de escritorio que proporcione una opción de configuración simple para habilitar el modo quiosco en este momento.

Hay muchas formas de obtener esto.

Mi enfoque sería utilizar un administrador de ventanas como BlackBox y deshabilitar la función de minimizar junto con la posibilidad de abrir otras aplicaciones.

Sí, definitivamente. Solo necesita configurar su programa para que se ejecute al inicio, y no cree ninguna forma de salir del programa en él.