GNU-Screen 分离后不会自动清除终端

GNU-Screen 分离后不会自动清除终端

如下面的截图所示,我退出 gnu-screen 会话后,屏幕没有被清除,所以很乱。我必须手动输入clear

这是我的环境:

拆卸屏幕前

分离屏幕后,光标下方的文本仍然存在。

答案1

与 vim-in-screen 行为相关。我忘了在哪里找到这些了。

你可以通过输入以下内容来解决问题

altscreen on

在 ~/.screenrc 中

答案2

我通过将 PuTTY 终端类型从 更改为xterm或 来putty解决这个问题putty-256color

您可以在此处找到会话的设置:设置 -> 连接 > 数据 > 终端类型字符串。

确保您所连接的机器具有适当的putty/ putty-256colorterminfo 文件,通常位于此处:/usr/share/terminfo/p/

答案3

如果 PuTTY 的对话框设置为禁用在正常/备用屏幕之间切换,并且同时 PuTTY 使用旧式 xterm 控件来切换正常/备用屏幕,则会发生这种情况。这些控件切换了事物(并且已禁用),但将清除和保存/恢复光标操作作为单独的控制序列执行。您在错误放置的光标中看到的是 PuTTY 将光标恢复到应用程序要求 PuTTY 切换到备用屏幕之前的位置。

这些控制序列的一些历史可以在 xterm FAQ 中找到为什么运行 vi 时屏幕不清除?

顺便说一下,退出 screen不同于退出正在运行的应用程序 screen前者依赖于终端设置和的交互screen,而后者仅依赖于screen(而不依赖于终端设置)。

答案4

通过注释掉 /etc/screenrc 中的两行来解决

# Do not use xterms alternate window buffer.
# This one would not add lines to the scrollback buffer.
#termcap xterm|xterms|xs ti=\E7\E[?47l
#terminfo xterm|xterms|xs ti=\E7\E[?47l

相关内容