problema de script Init.d

0

O script init.d está instalado corretamente e, por mim, eu escrevi o script corretamente. Mas eu tenho uma situação muito estranha. O script executa um programa multi-threaded escrito em c ++ por mim. Se eu executar o programa através do terminal (eu instalei em / usr / sbin /) como: "MyProgram & amp;" está tudo bem. Mas se este programa é executado pelo script init.d, um thread falha. Os outros threads do programa como os outros recursos das especificações do script init.d funcionam como esperado. Eu também tenho que mencionar que o thread que falha faz uma captura de tela da área de trabalho a cada 30 segundos. Obviamente, o problema tem que ser do script init.d. Eu tentei iniciar o programa nesse script das seguintes maneiras:

$DAEMON &
exec $DAEMON &
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON &
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON & > /dev/null

Onde $PIDFILE = /var/run/$NAME.pid ; $DAEMON = /usr/sbin/$NAME; $NAME = MyProgram Em todos os casos eu tenho o mesmo resultado: um thread falha. Alguma idéia?

    
por SASA Aga 17.10.2013 / 20:24

1 resposta

1

Eu encontrei a solução de trabalho do meu problema. Devido a configuração do servidor X, você não pode se conectar a ele em scripts init, embora eu tentei configurar o servidor X para permitir conexões de entrada para uma porta tcp que eu não tive sucesso em conectar. Então eu lancei meu programa quando o X começou adicionando o display-setup-script=path_to_script em /etc/lightdm/lightdm.conf . A solução que encontrei aqui: Lançar um programa quando o X inicia

    
por SASA Aga 18.10.2013 / 16:17