Bagaimana memungkinkan pengguna untuk menggunakan journalctl untuk melihat log layanan systemd khusus pengguna?

14

Saya menjalankan layanan tingkat pengguna di Ubuntu 16.04 LTS. Sebagai contoh, saya memiliki test.service saya terletak di ~ / .config / systemd / user / test.service

Saya dapat menjalankan layanan dengan melakukan

systemctl --user start test.target

Namun, ketika saya mencoba membaca log-nya menggunakan journalctl, saya mendapat pesan kesalahan ini:

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.

Bagaimana saya bisa menggunakan journalctl untuk unit khusus pengguna?

ChromeHearts
sumber

Jawaban:

10

Pada versi systemd yang lebih lama, Anda harus menggunakan journalctl --user --user-unit=SERVICENAME(pada versi yang lebih baru journalctl --user -u SERVICENAMEakan berfungsi dengan baik).

Namun, ini hanya berfungsi jika Storagearahan [Journal]bagian /etc/systemd/journald.confdiatur ke persistent(bukan autoatau volatile). Reboot setelah mengedit file konfigurasi dan pengguna akan dapat melihat jurnal.

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

D Schlachter
sumber
1
Menambahkan pengguna ke grup systemd-journal adalah jawaban yang saya butuhkan (dari tautan milis itu).
Sumur Travis
Ini bekerja untuk saya di Ubuntu 17.10, di mana satu pengguna entah kenapa tidak bisa melihat log-nya, sementara yang lain bisa.
elBradford
1
Menambahkan pengguna ke grup systemd-jurnal akan menjadi solusi, tetapi karena layanan saya adalah layanan pengguna, saya tidak berpikir log yang dihasilkan di tempat pertama, jadi memungkinkan pengguna saya untuk melihat semua log lainnya tidak akan bagaimanapun juga telah membantu.
elBradford