意外打印二进制垃圾后,如何在 GNU 屏幕会话中重置我的终端?

How can I reset my terminal in a GNU screen session after accidentally printing binary garbage?

有时我不小心在屏幕上打印了二进制垃圾,例如我打印了二进制哈希值或随机数而不是十六进制哈希值。

有时此后终端会以各种方式混乱,因为二进制数据包含重新配置终端的转义序列,使其几乎无用。

在正常的 shell 中(本地或通过 ssh),通常盲目键入 reset 并按回车键就足够了。 (由于终端配置混乱,输入通常不可见。)

但是在 GNU 屏幕会话中的 shell 中,这有时是不够的,shell 仍然没有响应。

如何在不破坏并重新创建终端的情况下恢复我的终端?

GNU 屏幕终端也维护部分终端状态。要在 GNU 屏幕中重置它,请执行以下操作:

  • 按 Ctrl-A。
  • 输入 :reset 并按回车键。

完成。您可能还需要像往常一样在终端本身中输入 reset