วิธีอนุญาตให้ผู้ใช้ใช้ journalctl เพื่อดูบันทึกการบริการ systemd เฉพาะของผู้ใช้


15

ฉันใช้บริการระดับผู้ใช้ใน 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ถูกตั้งค่าเป็นpersistent(แทนที่จะเป็นautoหรือvolatile ) รีบูตหลังจากแก้ไขไฟล์คอนฟิกูเรชันและผู้ใช้จะสามารถดูเจอร์นัล

ข้อมูลเพิ่มเติม: https://www.freedesktop.org/software/systemd/man/journald.conf.html https://lists.freedesktop.org/archives/systemd-devel/2016-October/037554.html


1
การเพิ่มผู้ใช้ไปยังกลุ่ม systemd-journal คือคำตอบที่ฉันต้องการ (จากลิงก์รายชื่อผู้รับจดหมายนั้น)
เทรวิส Well

สิ่งนี้ใช้ได้กับฉันใน Ubuntu 17.10 ซึ่งผู้ใช้รายหนึ่งไม่สามารถดูบันทึกของเขาได้อย่างลึกลับในขณะที่อีกคนสามารถทำได้
elBradford

2
การเพิ่มผู้ใช้ในกลุ่ม systemd-journal จะเป็นวิธีแก้ปัญหา แต่เนื่องจากบริการของฉันเป็นบริการผู้ใช้ฉันไม่คิดว่าบันทึกจะถูกสร้างขึ้นตั้งแต่แรกดังนั้นการอนุญาตให้ผู้ใช้ของฉันดูบันทึกอื่นทั้งหมดจะไม่ ได้ช่วยต่อไป
elBradford
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.