我遇到了我可以最好地描述为“剪贴板”的“不可预测”行为的情况。但以它自己的方式,它实际上是"可预测的"",因为它不是X错误,因此。
它主要是由不同的 X 应用程序以不同的方式使用不同的 X 特性造成的......
但是知道它“实际上”不是一个错误并没有真正的帮助。因为感觉像个bug!
有一个我发现/测试过的列表(下面)。
有什么方法(守护进程?)可以消除所有这些皱纹? 我更喜欢不坐在面板中的东西。
X / Ubuntu 剪贴板可能很棒,因为它的 2/3 级能力,但由于不一致的实现而有点烦人......
我一直在试图理解为什么复制/粘贴的事情并不总是按照我的预期进行......当你阅读信息文档时,你能学到的东西是惊人的 :)......但是一个问题可以更快地达到目标。
主要问题似乎出现在源应用程序关闭时,并且您尝试访问来自该应用程序的“剪贴板”数据。
X GUI 应用程序有两种主要的复制/粘贴方法(模式)。
Mode NAME Text Copy method Text Paste method
---------- --------------------- -------------------
PRIMARY currently selected mouse middle-click
CLIPBOARD Control+C selection Control+V
Run Code Online (Sandbox Code Playgroud)
我测试过的行为选择模式的几个不同的X应用程序:gvim,gedit,firefox,和gnome-terminal。
注:*所有粘贴做成gedit
*在gedit来源是从另一个(根)实例)
*我已经试过了几个“经理”的,parcelite和pastie,但我看不到任何一点在对它们进行比较,因为没有地址问题。也就是说,通常预期的复制/粘贴键盘操作是“不一致的”
+ --------------------------------------------- + ------------------------------------------- + ------------
| Modes used in the source Application | Availability upon CLOSING the Applicaton | Application
+ --------------------------------------------- + ------------------------------------------- + ------------
| --- No manager ---
| PRIMARY only, no CLIPBOARD Copy/Cut used: | PRIMARY Empty! (previous)CLIPBOARD ok | (all tested)
| | -- |
| CLIPBOARD as last action (implicit PRIMARY): | PRIMARY Empty! CLIPBOARD Empty! | gvim
| | PRIMARY Empty! CLIPBOARD ok | gedit, gnome-terminal
| | PRIMARY Empty! CLIPBOARD Empty! | firefox
| | -- |
| PRIMARY as last action, preceded by CLIPBOARD | PRIMARY ok CLIPBOARD Empty! | gvim
| | PRIMARY Empty! CLIPBOARD ok | gedit, gnome-terminal
| | PRIMARY Empty! CLIPBOARD Empty! | firefox
| --- Manager: parcelite ---
| PRIMARY only, no CLIPBOARD Copy/Cut used: | PRIMARY ok (previous)CLIPBOARD ok | (all tested)
| | -- |
| CLIPBOARD as last action (implicit PRIMARY): | PRIMARY ok CLIPBOARD Empty! | gvim, firefox
| | PRIMARY ok CLIPBOARD ok | gedit, gnome-terminal
| | -- |
| PRIMARY as last action, preceded by CLIPBOARD | PRIMARY ok CLIPBOARD Empty! | gvim, firefox
| | PRIMARY ok CLIPBOARD ok | gedit, gnome-terminal
|
+ --------------------------------------------- + ------------------------------------------- + ------------
Run Code Online (Sandbox Code Playgroud)
这是X的一个已知限制,请参考官方wiki的这篇文章:
https://wiki.ubuntu.com/ClipboardPersistence
主要问题仍然是可能使用不同方法处理剪贴板的应用程序之间的不一致。
在维基文章中列出了工作和不工作的应用程序(也建议的唯一解决方法是将parcelite安装为剪贴板管理器)