ユーザーがjournalctlを使用してユーザー固有のsystemdサービスログを表示できるようにする方法


14

Ubuntu 16.04 LTSでユーザーレベルのサービスを実行しています。たとえば、test.serviceは〜/ .config / systemd / user / test.serviceにあります

私はすることでサービスを実行することができました

systemctl --user start test.target

ただし、journalctlを使用してログを読み取ろうとすると、次のエラーメッセージが表示されます。

journalctl --user -u test.service
Hint: You are currently not seeing messages from other users and the system.
  Users in the 'systemd-journal' group can see all messages. Pass -q to
  turn off this notice.
No journal files were opened due to insufficient permissions.

ユーザーの特定のユニットに対してjournalctlを使用するにはどうすればよいですか?

回答:


10

古いsystemdバージョンでは、使用する必要がありますjournalctl --user --user-unit=SERVICENAME(新しいバージョンでjournalctl --user -u SERVICENAMEは正常に動作します)。

ただし、これStorageは、の[Journal]セクションのディレクティブが(またはの代わりに)/etc/systemd/journald.conf設定されている場合にのみ機能します。構成ファイルの編集後に再起動すると、ユーザーはジャーナルを見ることができます。persistentautovolatile

詳細:https : //www.freedesktop.org/software/systemd/man/journald.conf.html https://lists.freedesktop.org/archives/systemd-devel/2016-October/037554.html


1
systemd-journalグループにユーザーを追加することが、私が必要とする回答でした(そのメーリングリストリンクから)。
トラビスウェル

これはUbuntu 17.10で機能しました。あるユーザーは不可解なことにログを表示できませんでしたが、別のユーザーはログを表示できました。
elBradford

1
systemd-journalグループにユーザーを追加すると回避策になりますが、私のサービスはユーザーサービスであるため、ログが最初に生成されたとは思わないため、ユーザーが他のすべてのログを表示できるとは限りませんとにかく助けてくれました。
elBradford
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.