Próbuję nauczyć się podstawowej obsługi systemu i napotkałem mylący problem z jednostkami obsługi użytkowników.
Kiedy uruchamiam zwykłe usługi z systememctl, uruchom some.service. Mogę znaleźć pełny dziennik dla tej usługi (włączając to, co wydrukowałem do stdout / stderr, tak jak rozumiem), uruchamiając sudo journalctl --unit some.service .
Rozważ przykładowy plik usługi chatty.service :
[Service]
ExecStart=/usr/bin/echo "test from chatty.service"
Kiedy umieszczam ten plik usługi w ~ / .config / systemd / user / chatty.service i uruchamiam go za pomocą systemctl --user start chatty.service, nie mogę znaleźć jego danych wyjściowych wysyłanych do standardowego wejścia w dzienniku, ani zwykłym dziennikiem, ani dziennikiem - -user . W obu przypadkach otrzymuję tylko następujące dane wyjściowe:
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.
I journalctl --unit chatty.service ogóle nic nie zwraca (z lub bez --user nie robi różnicy).
Chociaż jeśli przeniosę ten sam plik usługi do / etc / systemd / system i uruchomię go za pomocą sudo systemd, uruchom chatty.service , a następnie uruchomię 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
Wygląda na to, że jednostka obsługi użytkownika nie jest w jakiś sposób tak dobrze zintegrowana, czy jest to oczekiwane, czy coś mi brakuje, czy to błąd?
Korzystam z openSUSE 13.1 x86-64 z systememd 208 (instalacja domyślna).
journalctl --user --user-unit chatty
aby uzyskać te komunikaty start / stop z systemd, ale nie to, co generuje proces echa, przynajmniej w moim przypadku. Możesz otrzymać echo wiadomości za pomocąjournalctl --user
lub użyć innego filtra.