禁用GNU屏幕选择缓冲区/剪贴板管理

问题描述 投票:0回答:1

我在Gentoo Linux上的图形终端模拟器中运行GNU screen-4.6.1。

每当我从会话中分离(例如Ctrl + a,d)或附加到会话(例如屏幕-r)时,我当前的主要选择和剪贴板缓冲区似乎被清空。

我只能假设屏幕试图在会话中进行一些奇特的剪贴板处理/持久性。我在GNU屏幕上找不到有关此类功能的任何信息。我以为我疯了,但绝对是屏幕上的这些缓冲区。

不管它是什么,我想禁用它,因为它弄乱了我的工作流程。这个“功能”叫什么,我在哪里可以了解更多,以及如何禁用它?

terminal gnu-screen
1个回答
0
投票

GNU screen使用其终端描述来查找如何初始化屏幕。在infocmp的输出中,这将通过smcuprmcup的设置显示,例如,

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之外运行它不同的行为。

© www.soinside.com 2019 - 2024. All rights reserved.