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


16

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

在此处输入图片说明

是否有任何方法可以防止这种情况发生,或者至少在按键后 ENTER不会导致终端重新进入新的线路,是否有必要重置终端以ENTER 使终端再次进入新的线路?


2
Franck-发生这种情况时,按Ctrl+C,然后输入reset并按Enter。让我知道是否有帮助。
Pimp Juice IT

@Facebook谢谢,输入reset并按下即可Enter
弗兰克·德农库尔

另外,针对该glances程序提交错误报告,以使崩溃后使终端保持在坏状态;)
marcelm

巧合的是,Unix和Linux Stack Exchange上也出现了类似的问题:unix.stackexchange.com/questions/398291
JdeBP

考虑使用cygwin并安装Terminal。油灰非常糟糕。例如,mc将无法正确显示,并且不允许您选择带shift的文件。
JorgeeFG

Answers:


25

您可以输入以下命令来使用reset命令,reset然后Enter在发生这种情况时按一下以重置终端,以便在Enter 再次按一下时它将转到新行。

命令

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

更多资源

  • 重启

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


16

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

为此,只需使用:

斯塔蒂·理智
甚至只是:

时髦回声

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

进一步阅读


内核中的线规实际上如何?这个答案对我来说听起来很对,除了我非常怀疑的那部分。
斯蒂芬·奥斯特米勒

@StephenOstermiller:还会在哪里?
psmears

3
实际上,线路规程是有史以来第一个可以在用户空间中配置的内核驱动程序之一,Unix在具有更广泛的调用取代之前,已经拥有sttygtty(设置并获取)系统调用ioctl
Guntram Blohm支持Monica17

6
这是有道理的,因为它当时独立于外壳,因此也可以在其他程序中使用。早期没有终端程序可以这么说-串行控制台可以直接与内核进行交互(实际上仍然可以)。
Muzer

1
需要说明的是:在过去,/ dev / tty的背面是物理串行端口。行规由内核tty驱动程序管理。对于伪造的终端会话或网络终端会话,/ dev / tty是一个伪终端,它的背面不是物理串行端口,而是另一个pseduo主设备,可从中读取/写入会话数据并将其馈送到网络套接字或终端仿真器。伪终端的/ dev / tty端的行为与真实串行端口的/ dev / tty端几乎相同。en.wikipedia.org/wiki/Pseudoterminal
Sam Liddicott
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.