如何将程序“屏幕”中的文本复制到剪贴板?

我想将一些文本从屏幕复制到我的剪贴板。 我知道如何在屏幕上进入复制和粘贴模式,但我希望该文本转到我的剪贴板,以便我可以将其粘贴到浏览器上。

我该怎么做呢? 谢谢!

在大多数程序中,您可以选择文本并按Ctrl + C进行复制。 粘贴Ctrl + V可以粘贴文本。 在终端仿真器程序中, Ctrl + C具有特殊含义,默认情况下它会中断(停止)程序。

您的终端仿真器程序可能已定义其他快捷方式。 例如,Konsole和Gnome Terminal使用Ctrl + Shift + C复制所选文本。 或者,选择文本并使用“ 编辑”菜单或上下文菜单中的“ 复制”选项进行复制

如果程序的输出很大,则可能需要启用screen的回滚缓冲区。 这可以通过在~/.screenrc文件中添加以下行来完成:

 termcapinfo xterm ti@:te@ 

对于原始和脏实现,安装包xsel ,允许命令行与然后X剪贴板交互,然后将这些行放在~/.screenrc

 bind > eval writebuf "exec sh -c 'xsel -nbi /tmp/screen-exchange'" 

然后重启screen

现在,当您在screen复制/回滚模式中选择某些内容,并使用Ca >将粘贴缓冲区写入文件时,您可以像往常一样移动到浏览器并粘贴剪贴板的内容(例如使用CtrlV )。

相反,使用CtrlC在浏览器中复制一些内容,然后转到screen并使用新命令Ca y读取剪贴板,然后使用Ca <读取屏幕交换文件到粘贴缓冲区中,最后粘贴无论你想要什么C - a ]

为此,必须正确设置变量DISPLAY ,并且必须能够访问X服务器。 当您在同一X服务器上运行的终端上时,这不是问题,但如果您在虚拟终端中运行screen ,例如tty1,那么您可能需要在X端运行xhost + ,并export DISPLAY=:0或者类似于终端,在开始screen之前。

如你所见,它并不简单,也不是防弹,但我希望它可以提供帮助。

这个答案的部分灵感来自同步GNU屏幕的粘贴缓冲区和X选择

只需在终端应用程序中使用复制操作。 例如,如果您使用gnome-terminal,只需选择测试并使用上下文菜单 – >复制。