我刚刚在我的笔记本电脑(ThinkPad A485,尽管这可能与这里无关)上全新安装了 Arch Linux,并安装了 XFCE4。除了终端模拟器的一个(非常特殊的)问题之外,一切似乎都正常工作:每当我打开一个新的终端窗口时,我输入的任何命令的输出(通常)都是空白的,直到我用光标突出显示它或按另一把钥匙。例如,
[user@thinkpad ~]$ls
看起来像(按 ENTER 后):
[user@thinkpad ~]$ls
(输出应该是一个空行)。但是,当我按 ENTER、任何其他键或用鼠标突出显示空行时,空行会发生变化,使终端现在看起来像
[user@thinkpad ~]$ls
Desktop Documents Downloads Music Pictures Public Templates Videos
这是 ls 的(预期)输出。这种“延迟”几乎总是发生在我在任何终端窗口中输入的第一个命令上,有时在之后的(看似)随机命令上,特别是使用 sudo 时,它会隐藏密码提示,直到输入密码或输入其他键为止。按下。
需要注意的一些重要事项:
我大部分时间都使用 bash 5.0.2,但是,我在 ksh 和 Fish 上也遇到了完全相同的问题
我尝试过以下终端模拟器,并在 XFCE 下遇到了上述问题:xfce4-terminal、gnome-terminal、lxterminal、tilda、mate-terminal 和 terminator。所有这些在 bash、ksh 和 Fish 中都遇到过这个问题。到目前为止,我还无法在 xterm 中重现该问题。
- 系统已重启多次
- 此问题也会影响 SSH 会话,清空输出行,直到突出显示或按下另一个键
- 问题才不是在其他桌面环境下出现 - 我已经安装了 LXDE 和 MATE,并且终端会话的行为与它们应该的完全一样,没有空白行。
- 当问题确实出现时,运行 Reset 或 stty sane 通常可以防止该问题在该终端窗口中再次发生。但是,将 stty sane 添加到我的 .bashrc 似乎无法解决问题,并且任何新的终端窗口仍然存在相同的问题
我的 .bashrc 非常普通,但它是:
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
stty sane
alias sudo='sudo -p "Password: "'
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
(我添加了 sudo -p 别名和 stty sane 行希望修复它,但在 bash 下都没有任何效果)。我的内核是 5.0.5-arch1-1-ARCH 。