A solução mais limpa pode ser escrever um trabalho inicial . Crie um arquivo em /etc/init/myjob.conf
. Isso poderia parecer por exemplo assim:
description "My custom upstart job"
start on login-session-start
task
exec /path/to/script.sh
- O
description
define uma breve explicação - A declaração
start on
descreve, em qual evento a tarefa é executada. Nós não precisamos de uma declaraçãostop on
aqui, eu acho. - Um trabalho
task
é aquele que executa um processo de execução curta, ou seja, um programa que ainda pode levar muito tempo para ser executado, mas que tem um tempo de vida definido e um estado final. -
exec
é a parte principal do trabalho. Tome cuidado com as variáveis de ambiente que seu script precisa para ser bem-sucedido. Eu suponho, desde que seu script deve ser executado após um servidor X ser iniciado, você precisa de variáveis de ambiente adequadas, como$DISPLAY
e$XAUTHORITY
e talvez também$DBUS_SESSION_BUS_ADDRESS
. - Se você tiver problemas, dê uma olhada em
/var/log/upstart/myjob.log
, para onde vai toda a saída do seu trabalho.