当前位置: 首页>>技术教程>>正文


PuTTY:已连接到某些Ubuntu服务器,有时在按Enter键时会停止转到新行

, , ,

问题描述

我使用PuTTY以便通过SSH连接到某些Ubuntu 14.04.4 LTS x64服​​务器。按下键ENTER使终端转到新行。但是,某些程序有时会输出一些文本,然后再按ENTER键不会使终端再转到新行(请参见下面的演示)。

有什么方法可以防止这种情况发生,或者至少在按下ENTER键时不再导致终端转到新行,还是有办法重置终端,以便ENTER导致终端再次转到新行?

最佳方案

您可以使用reset命令,方法是键入reset,然后在发生这种情况时按Enter键以重置终端,因此再次按Enter键时它将转到新行。

Command

ubuntu@db200krctc:~$ ubuntu@db200krctc:~$ ubuntu@db200krctc:~$ ubuntu@db200krctc:~$
ubuntu@db200krctc:~$ reset
ubuntu@db200krctc:~$
ubuntu@db200krctc:~$
ubuntu@db200krctc:~$

更多资源

  • reset作为重置调用时,tset设置熟模式和回显模式,关闭cbreak和raw模式,打开换行符转换,并将所有未设置的特殊字符重置为其默认值,然后再执行上述的终端初始化。这在程序死后使终端处于异常状态后非常有用。

次佳方案

在这种特殊情况下,reset命令的作用超出了您在此实际所需的能力,因为您的问题仅仅是回声已关闭。当您实际需要的只是在操作系统内核中重新配置线路规则,重新打开回显模式并且完全不触摸终端时,reset实际上会发出控制序列以重置终端本身。

为此,只需使用:

stty sane

甚至只是:

stty echo

reset解决了以下情况:实际上是终端自身的状态需要重置,而不是(仅)行规状态;也就是说,制表符已被删除,终端被切换到备用屏幕缓冲区,不方便的8位字符集已被换入,依此类推。

进一步阅读

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9185.html,未经允许,请勿转载。