我想在 XTerm 和其他应用程序中使用CTRLSHIFTCandCTRLSHIFTV进行复制和粘贴,所以我添加了
XTerm*vt100.translations: #override \
Shift Ctrl <Key> C: copy-selection(CLIPBOARD) \n\
Shift Ctrl <Key> V: insert-selection(CLIPBOARD)
到我的~/.Xresources
. 只要我不关闭 XTerm,复制和粘贴就可以正常工作。然后,所有CLIPBOARD
内容都丢失了。使用时也会出现同样的问题
XTerm*vt100.selectToClipboard: true
一旦选择了文本,它就会直接复制到CLIPBOARD
(而不是复制到PRIMARY
- 或者可能同时复制到两者?),但只有在 XTerm 运行时才可用。
所以,我读了更多关于CLIPBOARD
- https://www.jwz.org/doc/x-cut-and-paste.html
- https://mutelight.org/subtleties-of-the-x-clipboard
- https://en.wikipedia.org/wiki/X_Window_selection
- 如何在选择关闭窗口后进行 Shift+Insert 粘贴选择?
- https://burrows.svbtle.com/universal-copy-paste-in-linux
...但找不到明确的答案。例如,似乎存在能够同步CLIPBOARD
的工具PRIMARY
。或者使CLIPBOARD
内容持久化。或者某种CLIPBOARD
历史。但我不确定这就是我要找的东西,在这里。
例如:如果CLIPBOARD
内容并没有真正离开应用程序,并且其他程序必须“向”原始应用程序“询问”的内容CLIPBOARD
,那么这只有在该程序运行时才有可能是有道理的。CLIPBOARD
但是,即使程序已关闭,来自 Firefox 或 Leafpad的选定文本如何保持可用?Firefox/Leafpad 如何做到这一点?他们不使用外部工具,是吗?!
在 X 下,实际上没有剪贴板。通过让所涉及的两个 X 客户端相互交谈来复制所有选择(主要、次要剪贴板)。(参见例如维基百科文章了解详情)。
这意味着如果一个持有选择的 X 客户端不再运行,则选择消失。
您可以做的是运行另一个客户端,例如
xclipboard
,它会立即从您的(或任何其他 X 客户端)复制选择,并且即使不再运行xterm
也能够参与上述通信。xterm
当然,现在你必须继续xclipboard
跑步......我从来没有观察到 Firefox 以某种方式做不同的事情,但如果在 Firefox 关闭后选择确实可用,则其他一些 X 客户端必须仍在运行,可能是您桌面的一部分。所以是的,Firefox 必须使用某种外部工具(但正如我所说,我自己没有观察到这一点。但是,从这个意义上说,我并没有使用“桌面”,只是
fvwm
)。