ป้องกันการออกจากระบบจากการฆ่า tmux Session


13

ฉันได้สังเกตเห็นว่าการออกจากระบบ (ออกจากระบบ) จากเซสชันผู้ใช้ X ของฉันจะฆ่าtmuxเซสชันใด ๆ ที่ฉันได้เริ่มต้นขึ้นแม้กระทั่งเซสชันที่ฉันใช้ด้วยsudo tmuxและคำสั่งที่คล้ายกัน ฉันแน่ใจว่าก่อนหน้านี้ไม่ได้เกิดขึ้น แต่การเปลี่ยนแปลงล่าสุดบางอย่างได้ส่งผลกระทบต่อพฤติกรรมนี้

ฉันจะรักษาเซสชันเหล่านี้tmux(หรือscreen) ได้อย่างไรหลังจากฉันสิ้นสุดเซสชัน X ของฉันแล้ว


หากคุณมีความสนใจunix.stackexchange.com/questions/490243/…
ทิม

"เซสชันผู้ใช้ X" ที่คุณ "ออกจากระบบคืออะไร" ชื่อกระบวนการของมันคือ ...
ทิม

ในขณะที่ฉันไม่คิดว่ามันจะมีประโยชน์เป็นพิเศษคุณสามารถเริ่มเซสชัน tmux นอก X เช่นบน tty1 ตามที่อธิบายไว้ที่นี่: unix.stackexchange.com/a/167388/67833
Rolf

คำตอบ:


16

นี้ "คุณสมบัติ" ที่มีอยู่ในsystemdก่อนหน้านี้ แต่พัฒนาตัดสินใจที่จะมีผลกระทบต่อการเปลี่ยนแปลงในการเริ่มต้นการเปิดใช้งานการตั้งค่าสำหรับการสิ้นสุดของกระบวนการที่เด็กเมื่อออกจากระบบของเซสชั่นsystemd

คุณสามารถคืนค่าการตั้งค่านี้ในlogind.conf( /etc/systemd/logind.conf):

KillUserProcesses=no

คุณยังสามารถรันtmuxด้วยsystemd-runwrapper ดังต่อไปนี้:

systemd-run --scope --user tmux

สำหรับระบบเหล่านี้คุณอาจต้องการนามแฝงคำสั่งtmux(หรือscreen):

alias tmux="systemd-run --scope --user tmux"

อภิปรายเพิ่มเติมในหัวข้อ Reddit
palswim

3
... และในหลาย ๆ ที่ ในข้อผิดพลาดของเดเบียนที่อ้างถึงฉันอธิบายว่าจะทำให้systemd-logindสิ่งถูกต้องได้อย่างไร bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394#221
JdeBP

@JdeBP ขอบคุณที่บอกเราว่าการส่ง SIGHUP แทน SIGTERM และ SIGKILL ช่วยให้ daemons อยู่รอดได้ในการปิดเซสชันการเข้าสู่ระบบ systemd ฉันขอขอบคุณหากคุณสามารถพิจารณาunix.stackexchange.com/questions/484344/…และunix.stackexchange.com/a/490435/674
Tim
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.