อะไรคือความแตกต่างระหว่าง ~ (tilde dot) และ“ exit” เมื่อออกจากการเชื่อมต่อ SSH


12

เมื่อใดก็ตามที่ฉันมีการเชื่อมต่อ X11 ที่มีพื้นหลังในเซสชัน SSH ฉันต้องใช้~.และไม่exitออกจากเซสชัน ssh

ความแตกต่างที่นี่คืออะไร? ฉันสามารถใช้ลำดับการยกเว้นได้~.หรือไม่

คำตอบ:


7

exitบอกให้เชลล์ปัจจุบันของคุณเลิก เนื่องจาก (เมื่อไม่มีการเชื่อมต่อแบบ tunneled เช่น X11, แอ็คทีฟ) ซึ่งหมายความว่ากระบวนการที่ sshd เรียกใช้ในฝั่งเซิร์ฟเวอร์ออกจาก SSH จึงยกเลิกการเชื่อมต่อ

~. เป็นลำดับหนี "เวทย์มนตร์" ที่ SSH รวบรวมและยกเลิกการเชื่อมต่อทันที (รวมถึงอุโมงค์ X11)

ดังนั้นไม่สิ่งเหล่านี้ไม่สามารถใช้แทนกันได้ หากคุณต้องการเปลือกระยะไกลของคุณ (หรือโปรแกรมใด ๆ ที่ทำงานจากระยะไกล) เพื่อออกอย่างสง่างามคุณควรจบมัน


5

มันได้อธิบายไว้อย่างดีในคำตอบอื่น ๆ แล้ว แต่ฉันจะเพิ่มพื้นหลัง:

การเชื่อมต่อ SSH เดี่ยวในวันนี้สามารถมีหลายการประชุม (เปลือกหอยของคำสั่งของ) ส่งต่อ TCPช่องทางและส่ง X11ช่อง และมีความแตกต่าง:

  • การเขียนexit(หรือCtrl+ D) ลบช่องสัญญาณเซสชันแต่หากมีการใช้งานช่อง X11 บางช่อง (เช่นgvimปล่อยให้หลาย ๆ การเชื่อมต่อกับ X server จัดการคลิปบอร์ดและชื่อเรื่องซึ่งไม่ได้ปิดexit) การเขียนexitจะทำให้แอปพลิเคชั่น X11 นี้ทำงานและเครื่องของคุณจะ "หยุด" จนกว่าจะปิด

  • เขียน~.น้ำตาลงทั้งการเชื่อมต่อ คุณสามารถแจ้งให้ทราบถ้าคุณเรียกใช้โปรแกรมประยุกต์ X11 ~.บางที่ก็ยังปิดเมื่อคุณเขียน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.