我的 Ubuntu 服务器有问题。我启动了一个新的远程 ssh 会话(从 Windows Putty 或 Ubuntu 客户端)到我的服务器。过了一会儿(我想是因为我隐藏了控制台窗口),我的输入没有显示在控制台中。但是当我输入例如“ls”时,我得到了列表。
这意味着输入已发送,但我看不到它。我只能关闭控制台并启动新的 ssh 会话。但下一个烦人的点是,当我启动一个新屏幕时,我遇到了这个问题,重新连接后它不会消失。我必须重新启动屏幕 bash。
有人知道哪里出了问题吗?看来是服务器的问题,因为我试过 windows 和 linux,结果是一样的。
感谢采摘
答案1
程序死机后,终端处于异常状态,这时就会发生这种情况。要暂时修复此问题,可以使用以下命令“重置”终端:
$ reset
答案2
虽然@rkthkr 的答案对我有用,但它有一个不幸的副作用,就是改变了我的终端窗口尺寸 - 在某些情况下,我想这可能也已损坏并且需要重置。
考虑到这一点,我正在使用:
$ 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
(管道查看器)始终会导致我的输入被隐藏。目前,我实际上stty sane
在我的命令之后编写了一个命令脚本,pv -c
以确保我的终端保持正常运行。
答案3
当您看不到正在输入的命令时,您能看到提示符和光标吗?
如果没有,下次发生这种情况时,请尝试该clear
命令,然后尝试输入一些内容,看看是否可以看到它。
如果这有帮助,那么可能意味着您的提示由于某种原因隐藏在窗口底部。要么调整窗口大小,要么向下滚动(您可能以某种方式在窗口缓冲区中向上滚动)。