เมื่อใดก็ตามที่ฉันมีการเชื่อมต่อ X11 ที่มีพื้นหลังในเซสชัน SSH ฉันต้องใช้~.และไม่exitออกจากเซสชัน ssh
ความแตกต่างที่นี่คืออะไร? ฉันสามารถใช้ลำดับการยกเว้นได้~.หรือไม่
เมื่อใดก็ตามที่ฉันมีการเชื่อมต่อ X11 ที่มีพื้นหลังในเซสชัน SSH ฉันต้องใช้~.และไม่exitออกจากเซสชัน ssh
ความแตกต่างที่นี่คืออะไร? ฉันสามารถใช้ลำดับการยกเว้นได้~.หรือไม่
คำตอบ:
exitบอกให้เชลล์ปัจจุบันของคุณเลิก เนื่องจาก (เมื่อไม่มีการเชื่อมต่อแบบ tunneled เช่น X11, แอ็คทีฟ) ซึ่งหมายความว่ากระบวนการที่ sshd เรียกใช้ในฝั่งเซิร์ฟเวอร์ออกจาก SSH จึงยกเลิกการเชื่อมต่อ
~. เป็นลำดับหนี "เวทย์มนตร์" ที่ SSH รวบรวมและยกเลิกการเชื่อมต่อทันที (รวมถึงอุโมงค์ X11)
ดังนั้นไม่สิ่งเหล่านี้ไม่สามารถใช้แทนกันได้ หากคุณต้องการเปลือกระยะไกลของคุณ (หรือโปรแกรมใด ๆ ที่ทำงานจากระยะไกล) เพื่อออกอย่างสง่างามคุณควรจบมัน
มันได้อธิบายไว้อย่างดีในคำตอบอื่น ๆ แล้ว แต่ฉันจะเพิ่มพื้นหลัง:
การเชื่อมต่อ SSH เดี่ยวในวันนี้สามารถมีหลายการประชุม (เปลือกหอยของคำสั่งของ) ส่งต่อ TCPช่องทางและส่ง X11ช่อง และมีความแตกต่าง:
การเขียนexit(หรือCtrl+ D) ลบช่องสัญญาณเซสชันแต่หากมีการใช้งานช่อง X11 บางช่อง (เช่นgvimปล่อยให้หลาย ๆ การเชื่อมต่อกับ X server จัดการคลิปบอร์ดและชื่อเรื่องซึ่งไม่ได้ปิดexit) การเขียนexitจะทำให้แอปพลิเคชั่น X11 นี้ทำงานและเครื่องของคุณจะ "หยุด" จนกว่าจะปิด
เขียน~.น้ำตาลงทั้งการเชื่อมต่อ คุณสามารถแจ้งให้ทราบถ้าคุณเรียกใช้โปรแกรมประยุกต์ X11 ~.บางที่ก็ยังปิดเมื่อคุณเขียน