我想将一些文本从屏幕复制到剪贴板。我知道如何进入屏幕上的复制和粘贴模式,但是我希望该文本进入剪贴板,以便可以将其粘贴到浏览器中。
我该怎么做呢?谢谢!
我想将一些文本从屏幕复制到剪贴板。我知道如何进入屏幕上的复制和粘贴模式,但是我希望该文本进入剪贴板,以便可以将其粘贴到浏览器中。
我该怎么做呢?谢谢!
Answers:
在大多数程序中,您将选择文本,然后按Ctrl+ C进行复制。要粘贴文本,请按Ctrl+ V。在终端仿真器程序中,Ctrl+ C具有特殊含义,默认情况下它会中断(停止)程序。
您的终端仿真器程序可能还定义了其他快捷方式。例如,Konsole和Gnome Terminal使用Ctrl+ Shift+ C复制所选文本。或者,选择文本并使用“ 编辑”菜单或上下文菜单中的“ 复制”选项进行复制。
如果程序的输出很大,则可能要启用的回滚缓冲区screen
。可以通过在~/.screenrc
文件中添加以下行来完成:
termcapinfo xterm ti@:te@
termcapinfo xterm ti@:te@
〜/ .screenrc文件以允许回滚。如果您没有.screenrc,请从lekensteyn.nl/files/screenrc中
对于原始和肮脏的实现,请安装软件包xsel
,该软件包允许命令行与X剪贴板进行交互,然后将这些行放入您的~/.screenrc
bind > eval writebuf "exec sh -c 'xsel -nbi </tmp/screen-exchange'"
bind y eval "exec sh -c 'xsel -bo >/tmp/screen-exchange'"
然后重新启动screen
。
现在,当您在screen
复制/回滚模式下选择某项,并使用C- 将粘贴缓冲区写入文件时a >,您可以像往常一样移动到浏览器并粘贴剪贴板的内容(例如,使用Ctrl- V)。
对于反向,复制的东西在你的浏览器Ctrl- C,然后去screen
和读取新的命令剪贴板C- a y,然后阅读屏幕交换文件与粘贴缓冲区C- a <,最后贴上无论你想用C- a ]。
为此,DISPLAY
必须正确设置变量,并且您必须有权访问X服务器。当您在同一台X服务器上运行的终端上时,这不是问题,但是如果您screen
在虚拟终端(例如tty1)上运行,则可能需要先xhost +
在X端export DISPLAY=:0
或类似的终端上运行,然后再启动screen
。
如您所见,它并不简单,也不是防弹的,但我希望它能有所帮助。
这个答案的部分灵感来自于同步GNU屏幕的粘贴缓冲区和X选择
xhost +
是可怕的建议。它允许在互联网上有人盗用您的X会话,捕捉你的按键,采取截图等,从来没有做到这一点。做正确的事情有正确的方法。只要您位于同一主机上并使用相同的homedir,只需进行设置即可$DISPLAY
。
只需在终端应用程序中使用复制操作即可。例如,如果您使用的是gnome-terminal,则只需选择test并使用上下文菜单->复制即可。