ฉันมีแอปพลิเคชันที่เป็นเชลล์แบบโต้ตอบฉันต้องการให้แอปพลิเคชันนี้ทำงานเป็นบริการ เพื่อให้สามารถเข้าถึงเชลล์ได้ในขณะที่บริการกำลังทำงาน ฉันคิดว่าวิธีที่ดีที่สุดคือเริ่มบริการเป็นเซสชันหน้าจอที่เปิดใช้งานแอปพลิเคชัน
แต่สิ่งนี้สร้างปัญหา บันทึกการบริการไม่แสดงผลลัพธ์ใด ๆ ที่ฉันเห็นในเซสชันหน้าจอ
ฉันจะส่งเอาต์พุตเซสชันหน้าจอไปยังบันทึกการบริการได้อย่างไร
[หน่วย]
Description=เซิร์ฟเวอร์ CSGO
หลังจาก = network.target
[บริการ]
ประเภท = ส้อม
WorkingDirectory=/home/birger/csgo-เซิร์ฟเวอร์
ExecStartPre=-/usr/bin/screen -S ${SCREEN_TITLE} -X ฆ่า
ExecStart=/usr/bin/screen -dmS ${SCREEN_TITLE} -O -l /usr/bin/bash\
-c /home/birger/csgo-server/update-and-start
ExecStop=/usr/bin/screen -S ${SCREEN_TITLE} -p 0 -X สิ่งที่ "exit^M"
สภาพแวดล้อม = SCREEN_TITLE = csgo
RemainAfterExit=เท็จ
เริ่มใหม่ = เสมอ
รีสตาร์ทวินาที = 5 วินาที
SuccessExitStatus=1
[ติดตั้ง]
ต้องการโดย=default.target
เริ่มโดย
systemctl --user start csgo.service
การดูบันทึกโดย
วารสารctl -u csgo.service
เอาต์พุต (ว่างเปล่า):
-- บันทึกเริ่มในวันเสาร์ 2020-02-22 14:17:45 CET สิ้นสุดในวันจันทร์ 08-2021-08-16 15:06:35 CET --
-- ไม่มีรายการ --
แต่ถ้าฉันแนบกับหน้าจอฉันจะเห็นว่ามีข้อความมากมายจริง ๆ เพียงแต่ไม่ปรากฏในบันทึกการบริการ