Não é possível executar o script python na inicialização

2

No Fedora, eu tenho /etc/rc.local que se parece com isso ...

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi


/usr/bin/screen -dmS wixel python "/home/myuser/python-usb-wixel-xdrip/python-usb-wixel.py"
exit 0

Ainda depois de eu inicializar, sudo screen -r wixel me apresenta There is no screen to be resumed matching wixel.

A execução de /usr/bin/screen -dmS wixel python "/home/myuser/python-usb-wixel-xdrip/python-usb-wixel.py" inicia meu script e sudo screen -r wixel segue sua saída.

Por que meu script não inicia na inicialização?

Eu tentei sudo chmod a+rx /etc/rc.local

    
por square_eyes 11.11.2016 / 12:01

1 resposta

4

Não está especificado em sua descrição, mas eu localizo o rótulo do Fedora aqui. O Fedora usou systemd por algum tempo, então, se você usá-lo, você precisa habilitar o serviço rc.local.

Verifique o serviço systemd em /usr/lib/systemd/system/rc-local.service para mais informações.

Seu script deve ir para /etc/rc.d/rc.local ( ExecStart line; em vez de /etc/rc.local ). O arquivo deve ser fornecido por initscripts package, mas não o encontrei no meu sistema. Não tenha medo e crie-o. Mas não se esqueça de definir permissões corretas e um shebang (por exemplo, #!/bin/bash ). Então você precisa iniciar e ativar rc-local.service .

Isso deve funcionar para você:

# as root
mv /etc/rc.local /etc/rc.d/rc.local
sed -i '1i #!/bin/bash' /etc/rc.d/rc.local
chmod 0755 /etc/rc.d/rc.local
# this run the script immediately (!)
systemctl start rc-local.service
# this enables service to run it within boot
systemctl enable rc-local.service

systemd executa o script com o parâmetro start . Não quebrou nada, mas você pode usá-lo dentro do seu script.

Isso é muito bom para sua pergunta sobre rc.local . De qualquer forma, uma solução melhor deveria ser adicionar um novo serviço systemd. Estou com preguiça de escrevê-lo lá, porque há alguns manuais na internet :) Exemplo:

    
por 11.11.2016 / 14:45

Tags