我正在cygwin环境中配置GNU屏幕。实际上重新配置 - 它总是在以前工作,当我升级到cygwin-64时,相同的配置文件会给我带来意想不到的行为。
当我在终端溢出全屏时做某事时,终端不会滚动。相反,每个新行“覆盖”窗口底行的最后一行。即使过程完成,如果我按CTRL + l,终端的最后三行还有一堆垃圾。此外,当我使用占据整个屏幕的程序时,例如vim或irssi,“标题”行会消失。
我怀疑我的xterm设置和屏幕的'term'设置之间存在一些差异,但是我在这里有点茫然,正如我所说,所有相同的配置文件都运行正常(并且在其他机器上工作正常 - 还有cygwin和原生linux)。任何人都可以推荐一种让我心爱的屏幕再次出现的方法吗?
这是我的.screenrc:
shell /bin/bash
screen -t bash 0
select 0
escape ^Zz # Instead of Control-a, make the escape/command character be Control-z
autodetach on # Autodetach session on hangup instead of terminating screen completely
startup_message off # Turn off the splash screen
defscrollback 30000 # Use a 30000-line scrollback buffer
nethack on
# Misc h4x to make scrollback work
terminfo * te@:ti@
termcapinfo xterm|xterms|xs|rxvt ti=\E7\E[?47l
# Bells are annoying
bell_msg ''
vbell off
caption always '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'
答案 0 :(得分:3)
您正在screen
下运行xterm
(我自己一直在做的事情)。 screen
进程“知道”终端有多大,但该信息可能与现实不同步。当我从另一个窗口运行screen -dr
时,我发现这种情况发生了很多。
调整xterm
窗口的大小会使其向其下运行的进程发送SIGWINCH
信号,这通常会导致该进程重新查询tty设置。
单击最大化按钮两次。如果您已经最大化,那么它将恢复到正常窗口,然后重新最大化它;如果它还没有达到最大化,它将做相反的事情。在任何一种情况下,它都应该导致screen
重新计算窗口大小。
答案 1 :(得分:1)
我今天遇到了同样的问题。感谢所有人的单挑。我发现的最终解决方案是将精简术语类型设置为:vt220。对于" xterm"一定有些不对的东西。在那之后,一切都很好。
答案 2 :(得分:0)
我在这里回答我自己的问题,因为虽然@Keith Thompson的答案确实解决了问题的症状,但它并没有阻止症状的发生。他确实让我走上正确的道路,即在cygwin-64中安装xterm软件包。这似乎解决了这个问题。
答案 3 :(得分:0)
我将屏幕版本降级到屏幕版本4.02.01(GNU)28-Apr-14并且它有效。