fundo
Estou escrevendo um script simples para rodar no Raspbain no Raspberry Pi 2, basta ligar um LED para indicar que estou pronto para conectar-me com o SSH no meu computador desktop.
O script não é importante aqui, apenas para mencionar que, como uso o controle de frequência, o script executa um loop infinito, para ligar e desligar o LED com freqüência. Portanto, este é um exemplo de serviço simples. No entanto, pelo menos a resposta aceita dessa pergunta me aconselha a definir o tipo como inativo. Portanto, meu arquivo de serviço se parece com
[Unit]
Description=Turn on LED after SSH is ready
[Service]
Type=idle
ExecStart=/usr/bin/sshready.py
[Install]
Wants=network-online.target
After=network-online.target
Efeito
O serviço é executado conforme o esperado. No entanto, notei que quando inicio a massa no meu computador desktop logo após o LED acender, o prompt de login não aparece imediatamente. Então eu verifiquei com
$ systemd-analyze plot > output.svg
O resultado mostra
Questão
Parece que meus serviços não começam depois network-online.target
, o que há de errado aqui e como posso corrigi-lo?
Ele foi corrigido modificando o serviço como
Ainda não entendi completamente o que eu estava fazendo, mas funciona agora. Alguém pode explicar?
Atualizar
Essa resposta foi criada por mim antes da resposta aceita.
fonte
After=
diretiva deve estar na[Unit]
seção. É só isso.