如何从 xterm(Awesome、Debian、VirtualBox)复制文本?

Max*_*kov 18 xterm x11 clipboard virtualbox

我在 VirtualBox 实例中运行了最小的 Debian 安装,手动安装了 X11 和 Awesome 窗口管理器(还没有任何自定义配置)并安装了 VirtualBox 附加功能(并在设置中启用了共享剪贴板)。但是,从 xterm 终端复制粘贴文本似乎仍然不起作用:CTRL+C作为信号发送到终端,Shift+Insert插入我选择的文本(这可能意味着它以某种方式被复制到某个缓冲区),但它仍然无法从主机操作系统中使用。

Tho*_*key 24

不需要修改 xterm 翻译资源来将数据复制到 Firefox 或从 Firefox 复制数据,除非您更喜欢使用键盘来帮助完成该过程。

自 2006 年以来, xterm 具有一项功能selectToClipboard,可让您在PRIMARY选择(标准)和CLIPBOARD(Firefox 等)之间切换。

因为有些程序确实使用主选择,有些则不使用,所以它是 xterm ( controlmiddle-mouse) 中的菜单项:

在菜单项中显示 selectToClipboard

调整像 GNOME 应用程序这样的控制字符的建议可以让您使用键盘,同时让菜单在两种类型的选择之间切换:

xterm*VT100.Translations: #override \
                 Ctrl Shift <Key>V:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>C:    copy-selection(SELECT)
Run Code Online (Sandbox Code Playgroud)

尽管添加shiftInsert可能更接近原始意图:

xterm*VT100.Translations: #override \
                 Shift <Key>Insert:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>V:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>C:    copy-selection(SELECT)
Run Code Online (Sandbox Code Playgroud)

一个平原controlC通常分配给一个信号INTR

$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
Run Code Online (Sandbox Code Playgroud)

进一步阅读:


Mic*_*alH 23

X11 使用两个缓冲区:PRIMARYCLIPBOARD。要复制/粘贴到CLIPBOARD缓冲区,您可以经常使用CTRL-CCTRL-V。您可以PRIMARY通过选择一个文本并通过按鼠标中键从中粘贴来插入到缓冲区。

如果你要使用CLIPBOARD缓冲区,把这个在你的~/.Xresources文件,并使用Ctrl+ Shift+CCtrl+ Shift+V从/复制/粘贴到CLIPBOARD在xterm的缓冲区:

xterm*VT100.Translations: #override \
                 Ctrl Shift <Key>V:    insert-selection(CLIPBOARD) \n\
                 Ctrl Shift <Key>C:    copy-selection(CLIPBOARD)
Run Code Online (Sandbox Code Playgroud)

您需要xrdb -merge ~/.Xresources在将其放入文件后运行。

  • 使用`xrdb ~/.Xresources` 会破坏性地覆盖你的默认配置。而是使用`xrdb -merge ~/.Xresources` (3认同)

Pes*_*hke 7

  1. 打开xterm并突出显示要复制的文本。
  2. 转到要粘贴的应用程序并将鼠标光标悬停在要粘贴的字段上。
  3. 单击鼠标上的滚动按钮。(在笔记本电脑上,这可以通过同时按下左键和右键来完成)

当您突出显示文本时,它会将文本复制到您的主缓冲区。请记住,如果您在粘贴之前突出显示任何其他文本,则该文本将替换主缓冲区中的先前内容。