Я встретился с тем, что я могу лучше всего описать как "непредсказуемое" поведение "буфера обмена". Но его собственным способом, это на самом деле "предсказуемо"", поскольку это не 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
|
+ --------------------------------------------- + ------------------------------------------- + ------------
Это известное ограничение X, см. Эту статью официальной вики:
https://wiki.ubuntu.com/ClipboardPersistence
Основной проблемой остается несоответствие между приложениями, которые могут использовать другой подход к обработке буфера обмена.
В статье в вики перечислены работающие и не работающие приложения (также единственное предложенное решение - установить parcelite в качестве менеджера буфера обмена)
Я только что посмотрел на GPaste , который я использую. Кажется, он обрабатывает действия копирования и вставки, даже если вы закрыли приложение, из которого скопировали!
Есть даже хорошее расширение для Gnome-shell: -)
Попробуйте autocutsel, в репозиториях - он синхронизирует два. Вы должны добавить его в .bashrc или автозагрузку, или просто запустить его вручную (это командная строка, а не графический интерфейс), но он всегда работал хорошо для меня. Вы должны помнить, чтобы переключить фокус на поле (например, в браузере) или документ (gedit, kate, gvim ...) перед вставкой, иначе он не будет работать.