Jorge Tuzikov
Estoy configurando Debian para que funcione en modo quiosco. Para hacer esto, creé un servicio que realiza la función de vigilancia:
[Unit]
Description=Watchdog for Myapp
After=getty@tty6.service
After=polkit.service
After=udisks2.service
[Service]
ExecStart=su user -c "startx /opt/myapp -- :0 vt5"
ExecStop=systemctl start xdm
Type=simple
Restart=on-failure
StartLimitInterval=60s
StartLimitBurst=5
RuntimeMaxSec=infinity
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/user/.Xauthority"
Environment="XDG_VTNR=5"
[Install]
WantedBy=graphical.target
El problema es que ExecStart no obtiene el código de salida de myapp, sino de startx. He probado muchas opciones, pero no he podido encontrar una manera que funcione como debería…
Intenté pasar el código de salida a través de la tubería, exit &? y escribir el código de salida en un archivo. Pero, aparentemente, mis habilidades en bash no son suficientes para dar el comando correcto.
Buscar en Google tampoco ayudó porque encontrar un caso en el que las personas llamen comienza directamente desde la raíz y no desde el usuario, por lo que la transferencia del código de salida es mucho más fácil que en mi caso.