Executando um script que requer o comando DISPLAY =: 1, como um serviço

0

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?

    
por user925635 19.07.2018 / 20:04

1 resposta

1

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.

    
por 19.07.2018 / 20:30