Você está usando /opt/kiosk.sh
como seu arquivo de sessão para startx
. Como esse script tem um loop infinito codificado, seu script reabrirá o navegador toda vez que for eliminado.
Em vez de usar while true
, talvez seja melhor realizar uma verificação para verificar se esse serviço está sendo encerrado. Infelizmente, não estou familiarizado o suficiente com o upstart para saber qual condição de teste determinaria quando o sistema está sendo desligado. Algo como esse novo while
loop pode ser suficiente (isso substitui o do script kiosk.sh
):
while [[ $(status kiosk) != */stopping* ]]
Esse loop espera o comando status kiosk
retornar uma string contendo "/ stopping" e encerra o loop quando ocorre.
Espero que alguém com mais experiência em upstart
possa corrigir minha implementação. :)