Estou tentando aprender o uso básico do systemd e encontrei um problema confuso com as unidades de serviço do usuário.
Ao executar serviços comuns com o systemctl, inicie o some.service , posso encontrar o log completo desse serviço (incluindo o que foi impresso em stdout / stderr, como eu o entendo) executando sudo journalctl --unit some.service .
Considere o exemplo de arquivo de serviço chatty.service :
[Service]
ExecStart=/usr/bin/echo "test from chatty.service"
Quando coloco esse arquivo de serviço em ~ / .config / systemd / user / chatty.service e o executo com systemctl --user start chatty.service, não consigo encontrar sua saída enviada para stdout no journalctl, nem no journalctl simples nem no journalctl - -user . Eu recebo apenas a seguinte saída em ambos:
Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Starting chatty.service...
Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Started chatty.service.
E journalctl --unit chatty.service não retorna nada (com ou sem --user não faz diferença).
Embora se eu mover o mesmo arquivo de serviço para / etc / systemd / system e executá-lo com o sudo systemd start chatty.service , recebo a seguinte saída ao executar o sudo journalctl --unit chatty.service :
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Starting chatty.service...
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Started chatty.service.
Jan 15 19:28:08 qbd-x230-suse.site echo[27098]: test from chatty.service
Parece que a unidade de serviço do usuário não está tão bem integrada de alguma forma, isso é esperado, estou faltando alguma coisa ou é um bug?
Estou executando o openSUSE 13.1 x86-64, com systemd 208 (instalação padrão).
journalctl --user --user-unit chatty
para obter essas mensagens de início / parada do systemd, mas não o que o processo de eco gera, pelo menos no meu caso. Você pode receber a mensagem ecoadajournalctl --user
ou usar outro filtro.