J'essaie d'apprendre l'utilisation de base de systemd et j'ai rencontré un problème déroutant avec les unités de service utilisateur.
Lorsque vous exécutez des services ordinaires avec systemctl, lancez some.service Je peux trouver le journal complet de ce service (y compris ce qu'il a imprimé sur stdout / stderr, si je comprends bien) en exécutant sudo journalctl --unit some.service .
Considérez l'exemple de servicefile chatty.service :
[Service]
ExecStart=/usr/bin/echo "test from chatty.service"
Lorsque je place ce fichier de service dans ~ / .config / systemd / user / chatty.service et l'exécute avec systemctl --user start chatty.service, je ne trouve pas sa sortie envoyée à stdout dans journalctl, ni avec plain journalctl ni avec journalctl - -utilisateur . J'obtiens uniquement la sortie suivante dans les deux:
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.
Et journalctl --unit chatty.service ne renvoie rien du tout (avec ou sans --user ne fait aucune différence).
Alors que si je déplace le même fichier de service vers / etc / systemd / system et l'exécute avec sudo systemd start chatty.service, j'obtiens la sortie suivante lorsque j'exécute 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
Il semble que l'unité de service aux utilisateurs ne soit pas aussi bien intégrée d'une manière ou d'une autre, est-ce prévu, est-ce que je manque quelque chose ou est-ce un bug?
J'utilise openSUSE 13.1 x86-64, avec systemd 208 (installation par défaut).
journalctl --user --user-unit chatty
pour obtenir ces messages de démarrage / d'arrêt de systemd, mais pas ce que le processus d'écho génère, du moins dans mon cas. Vous pouvez obtenir le message en écho avecjournalctl --user
ou utiliser un autre filtre.