离开 gnu-screen 时不会清除其所有内容

离开 gnu-screen 时不会清除其所有内容

我在 CentOS 下的 bash 中使用 screen。使用 Alt-a d 离开 screen 后,我按预期返回 bash。但 screen 输出还残留着一些内容,特别是状态行(不知道是 hardstatus 还是什么)。当我按 Ctrl-l 时,bash 恢复正常。在其他使用相同 .screenrc 的 CentOS 系统上没有遇到这个问题。我该如何缓解这个问题?我希望 screen 在按下 Alt-a d 时从 bash 中清除所有内容,否则会很烦人,因为我无法直观地检测我是否仍在 screen 会话中。

我的 .screenrc 是:

hardstatus alwayslastline "%= %3n %t%? [%h]%? %="
caption always "%= %-w%L>%{= BW}%n*%t%{-}%52<%+w %L="
altscreen
bind s

-- 所用软件:Screen 版本 4.00.03 (FAU) 23-Oct-06 CentOS(不知道是哪个版本)

答案1

这与您要恢复到的终端的属性有关,而不是屏幕的属性。如果您查看 xterm 页面,您会发现以下内容:

在 VT102 模式下,有转义序列用于激活和停用备用屏幕缓冲区,该缓冲区的大小与窗口的显示区域相同。激活后,当前屏幕将被保存并替换为备用屏幕。在恢复正常屏幕之前,将无法保存从窗口顶部滚动出来的行。xterm 的 termcap(5) 条目允许可视化编辑器 vi(1) 切换到备用屏幕进行编辑并在退出时恢复屏幕。弹出菜单条目使在正常屏幕和备用屏幕之间切换以进行剪切和粘贴变得简单。

因此,无论您使用哪种类型的终端,您都需要设置 altscreen。

相关内容