Невідповідна поведінка копіювання та вставки. Чи є виправлення?


11

Я стикався з тим, що можу найкраще описати як "непередбачувану" поведінку "буфера обміну". Але по-своєму він насправді є "передбачуваним" , оскільки це не помилка 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
| 
+ --------------------------------------------- + ------------------------------------------- + ------------

Як би я хотів, щоб я міг прочитати всю вашу таблицю одразу :-(
Дон Хетч

Відповіді:


5

Це відоме обмеження X, будь ласка, зверніться до цієї статті офіційної вікі:

https://wiki.ubuntu.com/ClipboardPersistence

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

У статті wiki перераховано працюючу та не працюючу програму (також єдине запропоноване рішення - встановити парцеліт як менеджер буфера обміну)


Дякую OpenNingia .. Вікі корисна. Я зовсім новачок у Linux, тому мене це спантеличило! але тепер, коли я знаю про це (ДУЖЕ знаю! після тестування цих додатків) .. ну, тепер я буду більш пильним щодо "синдрому кинути" ... Маючи список вікі - це чудово; Я не любив набагато більше "тестування" :( ... я спробую запустити без парцеліту. Чим менше допоміжних додатків, тим краще (для мене) ... Я пережив п’ятнадцять років Windows без кошика; можна керувати буфером обміну (тепер, коли я знаю, як працюють режими вибору) ... це просто звичка (як переходити дорогу).
Peter.O

Будемо сподіватися на краще, коли Ubuntu перейде до Wayland, сподіваємось, вони вирішують проблему! :)
OpenNingia

Парцелліт не виправляв для мене порожній вихід, мені все одно довелося заглиблюватися в історію буфера обміну вручну, щоб витягти те, що я хотів. Тьфу. Я хотів би, щоб Mozilla просто реалізував стандарт ClipboardManager.
bobince

Це, мабуть, дефіцит xulrunner, я не можу придумати жодного рішення.
OpenNingia

@bobince. Я підозрюю (на основі моїх недавніх досліджень), що причина "парцеліт" не виправляється, це не може ... Це може зберігати лише копії того, що проходить через X-виділення (PRIMARY-selection та CLIPBOAD -selection) ... "парцеліт" ніколи нічого не ставить ні в один з X-виділень . Це основна проблема (див. Посилання OpenNingia) ... Різні програми відповідають різним стандартам, але "Google Summer Of Code 2010" розглядає способи виправити це ... так що все відбувається ... (Ubuntu відходить від самого X !, що змінить буфер обміну речей.
Peter.O

0

Спробуйте автореклаж, в репост - він синхронізує ці два. Ви повинні додати його до .bashrc або запуску aps, або просто запустити його вручну (це командний рядок, а не gui), але він завжди добре працював для мене. Вам потрібно пам’ятати, щоб перемкнути фокус на поле (якщо, наприклад, браузер) або документ (gedit, kate, gvim ...) перед тим, як вставити його, або, здається, він не працює.


0

Я просто дивився на GPaste , яким я користуюся. Здається, обробляє дії копіювання та вставки, навіть якщо ви закрили додаток, з якого скопійовано!

Для Gnome-shell є навіть приємне розширення :-)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.