如何從 xterm(Awesome、Debian、VirtualBox)複製文本?
我在 VirtualBox 實例中執行了最小的 Debian 安裝,手動安裝了 X11 和 Awesome 視窗管理器(還沒有任何自定義配置)並安裝了 VirtualBox 添加(並在設置中啟用了共享剪貼板)。但是,從 xterm 終端複製粘貼文本似乎仍然不起作用:
CTRL
+C
作為信號發送到終端,並且Shift
+Insert
插入我選擇的文本(這可能意味著它以某種方式複製到某個緩衝區),但它仍然無法從主機作業系統中使用。
X11 使用兩個緩衝區:
PRIMARY
和CLIPBOARD
. 要複製/粘貼到CLIPBOARD
緩衝區,您可以經常使用CTRL-C
和CTRL-V
. 您可以通過選擇文本插入PRIMARY
緩衝區並通過按滑鼠中鍵從其中粘貼。如果要使用
CLIPBOARD
緩衝區,請將其放入~/.Xresources
文件中,然後使用Ctrl
++和Shift
++從xterm中的緩衝區複製/粘貼:C``Ctrl``Shift``V``CLIPBOARD
xterm*VT100.Translations: #override \ Ctrl Shift <Key>V: insert-selection(CLIPBOARD) \n\ Ctrl Shift <Key>C: copy-selection(CLIPBOARD)
您需要
xrdb -merge ~/.Xresources
在將其放入文件後執行。
無需修改 xterm 翻譯資源即可將數據複製到 Firefox 或從 Firefox 複製數據,除非您更喜歡使用鍵盤來幫助完成該過程。
自 2006 年以來, xterm 具有一項功能,可讓您在選擇(標準)和(Firefox 等)
selectToClipboard
之間切換。PRIMARY
****CLIPBOARD
因為有些程序確實使用主選擇,有些不使用,所以它是 xterm (
control``middle-mouse
) 中的一個菜單項:調整 GNOME 應用程序等控製字元的建議可以讓您使用鍵盤,同時讓菜單在兩種類型的選擇之間切換:
xterm*VT100.Translations: #override \ Ctrl Shift <Key>V: insert-selection(SELECT) \n\ Ctrl Shift <Key>C: copy-selection(SELECT)
雖然添加
shift``Insert
可能更接近最初的意圖: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)
一個普通
control``C
的通常分配給一個信號: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
進一步閱讀:
- 為什麼我不能選擇/粘貼到/從其他程序?(xterm 常見問題解答)