Variáveis de ambiente são definidas usando uma ou mais das diretivas *Environment* no arquivo de serviço. Veja a página systemd.exec(5) man para detalhes.
Estou executando o Ubuntu 16.04 com o desktop Xfce + o servidor VNC para acessá-lo.
Eu tenho um script que inicia e controla um aplicativo GUI. Eu posso lançá-lo a partir de um shell com DISPLAY=:1 /home/script.sh e ele executa meu aplicativo na interface gráfica muito bem.
No entanto, eu preciso que ele seja executado como um serviço, para que, sempre que eu fechá-lo ou o aplicativo se fechar, script.sh seja reiniciado.
Eu tentei criar serviços em /lib/systemd/system/ ou /etc/systemd/system/ , mas ele nunca é lançado. Eu suspeito que é porque eu preciso passar DISPLAY=:1 para primeiro renderizá-lo na sessão GUI do meu servidor VNC.
Eu recebo o seguinte quando tento iniciar o serviço:
[/etc/systemd/system/abc.service:5] Executable path is not absolute, ignoring: "DISPLAY=:1 /home/script.sh
Como posso configurá-lo corretamente como um serviço?
Variáveis de ambiente são definidas usando uma ou mais das diretivas *Environment* no arquivo de serviço. Veja a página systemd.exec(5) man para detalhes.