我正在Gentoo Linux上的图形终端仿真器中运行GNU screen-4.6.1。
每当我脱离会话(例如Ctrl + a,d)或连接到会话(例如screen -r)时,我当前的主选择和剪贴板缓冲区就会被清空。
我只能假设屏幕正在尝试跨会话进行一些花哨的剪贴板处理/持久化。我在GNU屏幕上找不到有关此功能的任何信息。我以为我快疯了,但是绝对是屏幕弄乱了这些缓冲区。
无论是什么,我都希望禁用它,因为它会使我的工作流程混乱。这个“功能”叫什么,在哪里可以了解到更多信息,以及如何禁用它?
答案 0 :(得分:0)
GNU screen
使用其终端说明来查找如何初始化屏幕。在infocmp的输出中,这将由 smcup
和 rmcup
(例如
infocmp -1 screen |grep "mcup="
产生
rmcup=\E[?1049l,
smcup=\E[?1049h,
对于xterm(以及大多数模仿它的终端),它会切换到备用屏幕。通常,您的主要选择在终端窗口上“存在”,并切换到备用屏幕会清除该窗口,并用其他东西代替。
xterm具有资源设置(keepSelection
),可以通过控制/鼠标中键菜单"Keep Selection"中的条目来设置/取消设置。设置(对于xterm)可以保留选择;其他终端可能会“无限期地”保留选择,或者在这种情况下直接放弃选择。
此问题的简单解决方案(与终端无关)是避免将替换屏幕与GNU screen
(例如,
infocmp -1 screen |grep -v "mcup=" >foo
sudo tic foo
替换没有这些功能的终端说明。当然,这需要您重新启动 screen
,仅使用正常屏幕。
只有一个备用屏幕。如果您正在GNU screen
中运行某些应用程序,则切换至该应用程序/从该应用程序切换将使用屏幕的 模拟 屏幕,其行为与在 screen
之外运行该行为不同。