Ich versuche, die grundlegende Systemnutzung zu erlernen, und bin auf ein verwirrendes Problem mit Benutzer-Serviceeinheiten gestoßen.
Wenn ich normale Dienste mit systemctl starte, starte some.service . Wenn ich sudo journalctl --unit some.service starte, kann ich das vollständige Protokoll für diesen Dienst (einschließlich dessen, was in stdout / stderr gedruckt wurde, so wie ich es verstehe) finden .
Betrachten Sie das Beispiel servicefile chatty.service :
[Service]
ExecStart=/usr/bin/echo "test from chatty.service"
Wenn ich diese Servicedatei in ~ / .config / systemd / user / chatty.service lege und sie mit systemctl ausführe - user start chatty.service Ich kann ihre Ausgabe weder mit plain journalctl noch mit journalctl an stdout in journalctl senden. -user . Ich erhalte nur die folgende Ausgabe in beiden:
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.
Und journalctl --unit chatty.service gibt überhaupt nichts zurück (mit oder ohne --user macht keinen Unterschied).
Wenn ich dieselbe Servicedatei nach / etc / systemd / system verschiebe und sie mit sudo systemd starte, starte ich chatty.service und erhalte die folgende Ausgabe, wenn ich sudo journalctl --unit chatty.service starte :
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
Es sieht so aus, als ob die Benutzer-Service-Einheit nicht so gut integriert ist. Wird dies erwartet? Vermisse ich etwas oder handelt es sich um einen Fehler?
Ich verwende openSUSE 13.1 x86-64 mit systemd 208 (Standardinstallation).
journalctl --user --user-unit chatty
, um diese Start- / Stopp-Meldungen von systemd abzurufen, aber nicht, was der Echo-Prozess ausgibt, zumindest in meinem Fall. Sie können die Echo-Nachricht mitjournalctl --user
einem anderen Filter abrufen oder einen anderen Filter verwenden.