Ubuntu服务器:在terminal上看不到我的input

我的Ubuntu服务器有问题。 我开始一个新的远程SSH会话(从Windows腻子或Ubuntu客户端)到我的服务器。 经过一段时间(我想是隐藏控制台窗口),我的input不显示在控制台。 但是当我input例如“ls”时,我得到了列表。

这意味着input被发送,但我没有看到它。 我只能closures控制台并启动一个新的ssh会话。 但接下来的烦人的一点是,当我开始一个新的屏幕,我有这个问题,重新连接后不会消失。 我必须重新启动屏幕bash。

有没有人有一个想法是怎么回事? 看来这是服务器上的问题,因为我用Windows和Linux尝试了相同的结果。

谢谢采摘

在程序离开处于exception状态的terminal之后,可能发生这种情况。 要解决它暂时你“重置”terminal:

$ reset 

虽然@ rkthkr的答案为我工作,它有不幸的副作用,改变我的terminal窗口的维度 – 在某些情况下,我想这可能也已经损坏,也需要重置。

考虑到这一点,我使用:

 $ stty sane 

man stty

  sane same as cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke, all special characters to their default values 

在我的具体情况下,使用pv -c (pipe道查看器)始终导致我的input隐藏。 现在,我已经使用pv -c来确保我的terminal保持正常运行,我实际上已经编写了一个stty sane命令。

当你看不到你正在input的命令时,你能看到提示和光标吗?

如果没有,下次发生这种情况,请尝试clear命令,然后尝试input内容,看看是否可以看到。

如果这有帮助,那么可能意味着出于某种原因,您的提示被隐藏在窗口的底部以下。 调整窗口大小或向下滚动(可能以某种方式在窗口缓冲区中滚动)。

如果重置修复你的问题,那么你probally运行一个应用程序混淆你的terminal设置。