executa executável na inicialização

2

Para minha vida, não consigo fazer isso funcionar. Estou rodando Debian no Raspberry Pi.

executando este comando da CLI:

/home/pi/domotiga/DomotiGaServer.gambas -d

executa meu servidor de automação residencial.

Como faço para executar isso na inicialização?

Eu tenho um arquivo no meu diretório /etc/init.d que é carregado, mas não inicializa o servidor

conteúdo do arquivo:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          domotigaserver
# Required-Start:    $syslog $mysql
# Required-Stop:     $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: domotiga server
# Description:
#
### END INIT INFO

#!/bin/bash
# /etc/init.d/domotigaserver
#

# Carry out specific functions when asked to by the system
case "$1" in
start)
su pi -c '/home/pi/domotiga/DomotiGaServer.gambas -d'
echo "Starting DomotiGa Server " 
;;
stop)
pkill DomotiGaServer.gambas
echo "DomotiGa Server has been stopped (didn't double check though)" 
;;
*)
echo "Usage: /etc/init.d/domotigaserver {start|stop}" 
exit 1
;;
esac

exit 0
    
por Mike Thrussell 30.12.2012 / 18:40

2 respostas

1

Acontece que o script estava sendo executado muito cedo; antes de alguns pré-requisitos. Symlinks foram nomeados S03domotigaserver - eu os renomei para S80domotigaserver e agora funciona.

    
por 31.12.2012 / 02:40
3

Criar scripts init.d não é suficiente. Você precisa para criar links de início / parada em /etc/rc[0-9].d para o nível de execução adequado .

Por padrão, o Debian usa o nível de execução 2 (configurável em /etc/inittab ).

Para criar links apropriados, você pode usar update-rc.d . Executar

update-rc.d domotigaserver defaults

como usuário root.

Como alternativa, você pode usar rcconf (instale-o, por exemplo, em apt-get install rcconf ). Ele oferece uma boa TUI .

Veja, por exemplo, aqui para mais informações.

    
por 30.12.2012 / 21:10