Como iniciar o aplicativo GUI com o upstart?

2

Eu tenho lutado com esse problema por três dias e tentei muitas maneiras de resolvê-lo, mas ainda não obtive sucesso. Espero que vocês possam me ajudar ...

Eu tenho um aplicativo GUI. Eu quero começar esta aplicação automaticamente. E quando ele desce ou fecha inesperadamente, quero reabrir este aplicativo.

Eu tentei usar o script upstart, no entanto, embora não haja problemas com serviços com o upstart, o aplicativo GUI não está iniciando com o script upstart. Ele diz que não pode conectar o servidor X ..

Devo adicionar ou alterar algumas configurações para abrir com o upstart ou há alguma maneira de abrir o aplicativo da GUI automaticamente quando ocorre uma saída ou desligamento inesperado (não apenas uma vez após o login, não estou com a inicialização)?

EDITAR: Aqui está o meu passo atual para o upstart:

Estou tentando iniciar o aplicativo GUI com o script upstart no CentOS. Eu tenho script de teste localizado em / etc / init / folder.

start on desktop-session-start
stop on desktop-shutdown

respawn

script
export DISPLAY=:0
sleep 5
exec /.1/Projects/UpstartTest/start.sh &

end script

Os scripts start.sh estão executando arquivos binários para aplicação GUI.

Depois de reiniciar o computador. Quando eu digitei:

[root@mg-CentOS ~]# initctl status test
test stop/waiting

Então, meu novato não está correndo. Quando eu digito

initctl start test

manualmente funciona bem sem problemas.

Como posso executar este script upstart após o login do usuário (área de trabalho iniciada)? Eu estou tentando encontrar documentos detalhados para o CentOS para iniciantes, mas não há. Você poderia por favor me ajudar a resolver este problema. Estou trabalhando nisso 3 dias :( :(: (

    
por goGud 06.08.2014 / 09:47

1 resposta

2

O Upstart provavelmente não é a melhor maneira de iniciar aplicativos GUI, pois foi projetado para iniciar daemons. No entanto, você ainda pode usá-lo se seguir a sequência de inicialização correta (o servidor X precisa ser iniciado antes de iniciar o aplicativo GUI).

Para evitar o erro 'não é possível conectar-se ao servidor X', é necessário definir a variável DISPLAY no script de inicialização (e verificar se o aplicativo está sendo executado como o mesmo usuário que está executando o servidor X). Você pode fazer isso com:

export DISPLAY=:0.0
    
por 06.08.2014 / 12:27