Vou especular um pouco sobre isso:
-
/home/executable
provavelmente depende dos gráficos que estão sendo inicializados, o que eu acho que significaria após a execução da GUI. - Se a GUI não estiver em execução, ela provavelmente sairá com um erro e seu script continuará para a parte restante (e é por isso que o arquivo não é criado). saída de
rc.local
é descartada, então você não saberia se ele gerou um erro. - Se a GUI estiver em execução, seu programa continuará a ser executado, portanto, o script não alcançará a seção restante até você fechá-la.
Considere o uso de um trabalho de sessão do Upstart . Crie um arquivo .conf
em ~/.config/upstart
(digamos camera.conf
) contendo:
description "My OpenCV-based camera app"
start on startup
stop on session-end
exec /home/executable
Agora ele deve iniciar automaticamente quando você efetuar login. Você pode usar os seguintes comandos para iniciar e interromper seu aplicativo ( camera
é o nome do arquivo .conf
que você criou):
start camera
stop camera
Você também pode adicionar respawn
ao arquivo de configuração, se quiser que o Upstart inicie o programa novamente se você fechá-lo.