Tôi có một ứng dụng là trình bao tương tác.Tôi muốn ứng dụng này chạy như một dịch vụ. Để có thể truy cập trình bao trong khi dịch vụ đang chạy, tôi nghĩ rằng tốt nhất là khởi động dịch vụ dưới dạng phiên màn hình khởi chạy ứng dụng.
Nhưng điều này tạo ra một vấn đề. Nhật ký dịch vụ không thực sự hiển thị bất kỳ đầu ra nào mà tôi có thể thấy trong phiên màn hình.
Làm cách nào tôi có thể truyền đầu ra của phiên màn hình tới nhật ký dịch vụ?
[Đơn vị]
Mô tả=Máy chủ CSGO
Sau=mạng.mục tiêu
[Dịch vụ]
Loại = rẽ nhánh
WorkingDirectory=/home/birger/csgo-server
ExecStartPre=-/usr/bin/screen -S ${SCREEN_TITLE} -X kill
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 thứ "exit^M"
Môi trường=SCREEN_TITLE=csgo
RemainafterExit=false
Khởi động lại = luôn luôn
Khởi động lạiSec=5s
Thành côngExitStatus=1
[Cài đặt]
WantedBy=default.target
bắt đầu bởi
systemctl --user bắt đầu csgo.service
Xem nhật ký theo
tạp chíctl -u csgo.service
Đầu ra (trống):
-- Nhật ký bắt đầu vào Thứ Bảy 2020-02-22 14:17:45 CET, kết thúc vào Thứ Hai 2021-08-16 15:06:35 CEST. --
-- Ko lối vào --
Nhưng nếu tôi đính kèm vào màn hình, tôi có thể thấy rằng thực sự có rất nhiều văn bản, chỉ là không được hiển thị trong nhật ký dịch vụ.