xterm + screen 中命令输出滚动缓慢

xterm + screen 中命令输出滚动缓慢

预期行为:

输出的速度ls /*非常快。

实际行为:

$ time ls /*
...
real    0m21.003s
user    0m0.082s
sys     0m0.095s

此命令需要 21 秒才能完成。线条缓慢滚动。有什么不对劲。我正在运行这个,screen其中正在运行xterm。我尝试对其进行故障排除,但尚未弄清楚发生了什么。却发现了一些奇怪的东西……

解决方法:

无论出于何种原因,执行我编写的这个脚本都会使其按预期工作:http://sprunge.us/zdvZEO

$ fastout
...
$ time ls /*
...
real    0m1.375s
user    0m0.116s
sys     0m0.116s

通过弄乱一些 TERMCAP 文件(不记得是哪些文件)偶然发现了这一点,并注意到当我将cat文件(的一部分)发送到终端时问题就消失了。您认为可能会发生什么情况?我如何在不依赖解决方法的情况下正确解决此问题?

编辑1:

使用默认设置进行了测试urxvt,并附加了相同的screen会话:

$ time ls /*
...
real    0m0.281s
user    0m0.051s
sys     0m0.080s

xterm由此看来,问题与其设置有关。

编辑2:

为了确保不是我的任何自定义xterm设置执行此操作,我尝试过:

$ xrdb -remove
$ /bin/xterm

相同的结果。

也许xterm这不是问题,这只是 gnuscreen对被运行的反应xterm

还不确定,但尽管已经习惯了xterm很多年,我可能会切换到urxvt除了在我的设置上没有这个问题之外 - 还允许我进行块选择。

编辑3:

发现如果我在 .screenrc 中更改 hardstatus alwaysfirstline 为 , 则运行时hardstatus alwayslastline 问题就会消失(输出按预期进行)。在这两种设置下都可以正常工作。我可以更改该设置并坚持使用,但我希望该栏位于顶部。xtermscreenurxvtxterm

相关内容