Несогласованное поведение при копировании и вставке. Есть ли исправление?

7

Я столкнулся с тем, что лучше всего описать как «непредсказуемое» поведение «буфера обмена». Но по-своему это действительно «предсказуемо» , поскольку это не ошибка X , как таковая.

В основном это связано с различными приложениями 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: gvim , gedit , firefox и gnome-terminal .

NB:  * Все вставки были сделаны в 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
| 
+ --------------------------------------------- + ------------------------------------------- + ------------
    
задан Peter.O 08.11.2010 в 08:46
источник

3 ответа

5

Это известное ограничение X, пожалуйста, обратитесь к этой статье официальной вики:

Ссылка

Основной проблемой остается несогласованность между приложениями, которые могут использовать другой подход к обработке буфера обмена.

В статье wiki указано рабочее и нерабочее приложение (также единственным обходным решением является установка parcelite в качестве менеджера буфера обмена)

    
ответ дан OpenNingia 08.11.2010 в 09:11
источник
0

Попробуйте autocutsel, в repos - он синхронизирует два. Вы должны добавить его в .bashrc или startup aps или просто запустить его вручную (это командной строки, а не gui), но он всегда работал хорошо для меня. Вы должны помнить, чтобы переключить фокус на поле (например, в браузере) или документ (gedit, kate, gvim ...) перед вставкой или, похоже, не работать.

    
ответ дан fitzhugh 08.02.2012 в 09:47
0

Я просто смотрел GPaste , который я использую. Кажется, что он обрабатывает операции копирования и вставки, даже если вы закрыли приложение, из которого вы скопировали!

Существует даже приятное расширение для Gnome-shell: -)

    
ответ дан bmbaker 08.02.2012 в 11:59