〜之间有什么区别。(波浪点)和“退出”(在退出SSH连接时)


12

只要我在SSH会话中有X11后台连接,就必须使用~.而不是exit退出ssh会话。

这里有什么区别?我可以一直使用转义序列~.吗?

Answers:


7

exit告诉您当前的外壳退出。由于(当没有隧道连接,例如X11时处于活动状态)意味着sshd在服务器端调用的进程已退出,因此SSH会断开连接。

~. 是SSH捕获并立即断开连接(包括X11隧道)的“魔术”转义序列。

所以,不,这些不可互换。如果希望远程外壳程序(或远程运行的任何程序)正常退出,则应相应地结束它。


5

在另一个答案中已经对此进行了很好的描述,但是我要添加一些背景:

今天的单个SSH连接可以包含多个会话(您的shell,命令),TCP转发通道和X11转发通道。不同之处在于:

  • 写入exit(或Ctrl+ Dgvim断开会话通道,但是如果有活动的X11通道(例如,留下了到X服务器的多个连接,以处理剪贴板和title,则不被封闭exit)。编写exit将使该X11应用程序保持运行状态,并且您的终端将“挂起”直到关闭。

  • 写作~.撕毁了整个联系。您会注意到,如果您运行某些X11应用程序,则在编写时也会关闭~.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.