PuTTY:连接到某些 Ubuntu 服务器,有时按 Enter 时会停止换行

Fra*_*urt 16 terminal putty newlines ubuntu

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

在此处输入图片说明

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

Vom*_*yle 25

您可以通过输入然后按下重置终端来使用重置命令,以便在reset再次按下Enter时它会转到新行Enter

命令

ubuntu@db200krctc:~$ ubuntu@db200krctc:~$ ubuntu@db200krctc:~$ ubuntu@db200krctc:~$
ubuntu@db200krctc:~$ reset
ubuntu@db200krctc:~$
ubuntu@db200krctc:~$
ubuntu@db200krctc:~$
Run Code Online (Sandbox Code Playgroud)

更多资源

  • 重启

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


Jde*_*eBP 16

reset在这种特殊情况下,该命令的作用比您真正需要的要多,因为您的问题只是 echo 已关闭。 reset实际上发出控制序列来重置终端本身,当您真正需要的是重新配置操作系统内核中的线路规则时,重新打开回显模式,并且根本不接触终端

为此,只需使用:

头脑清醒
甚至只是:

回声

reset解决实际需要重置终端自身状态而不是(仅)线路规则状态的情况;即制表位已被删除,终端被切换到备用屏幕缓冲区,一个不方便的 8 位字符集已被换入,等等。

进一步阅读

  • 这是有道理的,因为它独立于 shell,所以它也可以在其他程序中工作。并且在早期没有终端程序可以这么说——串行控制台会直接与内核交互(实际上仍然可以)。 (6认同)
  • 线路规则实际上是有史以来第一个可从用户空间配置的内核驱动程序之一,Unix 早在“stty”和“gtty”(设置和获取)系统调用被更通用的“ioctl”调用取代之前就有了。 (3认同)