![为什么当 SSH 会话断开连接时 gnome-terminal 会冻结?](https://linux22.com/image/816788/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%BD%93%20SSH%20%E4%BC%9A%E8%AF%9D%E6%96%AD%E5%BC%80%E8%BF%9E%E6%8E%A5%E6%97%B6%20gnome-terminal%20%E4%BC%9A%E5%86%BB%E7%BB%93%EF%BC%9F.png)
这是一个非常简单的问题。我每天都使用 gnome-terminal 来 SSH 到其他机器。我在办公室随身携带的笔记本电脑上执行此操作,因此我经常在有线和无线网络之间切换。当这种情况发生时,我的 SSH 会话会中断,终端会冻结。
为什么会发生这种情况(冻结,而不是会话中断)?有办法防止这种情况发生吗?我知道在我知道要断开笔记本电脑与以太网的连接之前,我可以通过从远程服务器注销来解决这个问题。
这很烦人,因为终端会话冻结后我必须手动关闭,这会弹出一个对话框,而且我还会丢失会话的标题 - 所有这些都非常耗时。如果 ssh 会话被终止,它会让我回到本地 bash 提示符,那就好多了。
答案1
会话最终会超时并断开连接;如果您在 中配置ServerAliveInterval
和,此情况会更快发生。要强制立即断开连接,。ServerAliveCountMax
~/.ssh/config
Return~.
答案2
无需深究其原因,以下是修复方法:
~.
那是波浪号。依次按下这两个键,这将断开挂起的 ssh 会话并返回到您的终端。耶!