复制和粘贴行为不一致。有解决办法吗?


11

我遇到了最能形容为“剪贴板”的“不可预测”行为的东西。但是以它自己的方式,它实际上是“可预测的””,因为它本身不是X bug。

它很大程度上是由不同的X应用程序以不同的方式使用不同的X功能导致的。

但是知道它不是“实际上”的错误并没有真正的帮助。因为感觉像是个虫子!

(下面)列出了我发现/测试过的内容。

有什么办法(守护程序?)消除所有这些皱纹? 我更喜欢面板中没有的东西。

由于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

我测试过的行为选择模式的几个不同的X应用程序:gvimgeditfirefox,和gnome-terminal

注意:*所有粘贴操作gedit 都已完成* gedit的源代码来自另一个(根)实例)
*我尝试了几个“经理” parcelitepastie,但在比较它们时看不到任何意义,因为它们都没有解决问题。也就是说,通常预期的复制/粘贴键盘操作是“不一致的”

+ --------------------------------------------- + ------------------------------------------- + ------------
| 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
| 
+ --------------------------------------------- + ------------------------------------------- + ------------

我希望我能一次读取您的整个桌子:-(
唐·哈奇

Answers:


5

这是X的已知限制,请参考官方Wiki的此文章:

https://wiki.ubuntu.com/ClipboardPersistence

主要问题仍然是可能使用不同方法处理剪贴板的应用程序之间的不一致。

在Wiki文章中,列出了工作中的应用程序和不工作的应用程序(建议的唯一解决方法是将parcelite安装为剪贴板管理器)


感谢OpenNingia。Wiki非常有用。我对Linux很陌生,所以对此感到困惑!但是,现在我知道了(非常了解!我自己测试了这些应用程序之后)..好了,现在我将更加警惕“退出综合症”……拥有Wiki列表很棒;我没有想更多的“测试”:(...。可以管理剪贴板(现在我知道选择模式的工作原理)……这只是一种习惯(就像过马路一样)
Peter.O 2010年

当Ubuntu切换到Wayland时,希望他们能解决这个问题,让我们变得更好!:)
OpenNingia 2010年

Parcellite并没有为我解决“退出时清空”的问题,我仍然不得不手动研究其剪贴板历史记录以提取所需的内容。啊。我希望Mozilla能够实现ClipboardManager标准。
bobince 2010年

这可能是xulrunner的缺陷,我想不出任何解决方法。
OpenNingia 2010年

@bobince。我怀疑(基于我最近的研究)“ parcelite”不能修复的原因是,因为它不能...它只能保留通过X选择(PRIMARY-selection和CLIPBOAD)传递的内容的副本-selection)...“ parcelite”从未将任何东西放入X-selection中。这是根本问题(请参见OpenNingia的链接)...不同的应用程序遵循不同的标准,但是“ Google Summer Of Code 2010”正在寻找整理方法……所以事情正在发生……(Ubuntu正在逐渐淘汰)从X本身!那会改变事务的剪贴板状态。
Peter.O

0

在回购中尝试使用autocutsel-它会同步两者。您必须将其添加到.bashrc或启动aps中,或者只是手动启动它(这是命令行,而不是gui),但是它对我来说一直很好。您一定要记住在粘贴之前将焦点切换到字段(例如,浏览器)或文档(gedit,kate,gvim ...),否则它将无法正常工作。


0

我只是在看我使用的GPaste。即使您关闭了从中复制的应用程序,它似乎也可以处理复制和粘贴操作!

Gnome-shell甚至还有一个不错的扩展:-)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.