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
descriptiondefine uma breve explicação - A declaração
start ondescreve, em qual evento a tarefa é executada. Nós não precisamos de uma declaraçãostop onaqui, 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$DISPLAYe$XAUTHORITYe 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.