Comportamento inconsistente de copiar e colar. Existe uma correção?

11

Encontrei o que posso descrever melhor como comportamento "imprevisível" da "área de transferência". Mas, à sua maneira, na verdade é "previsível" " , pois não é um bug do X , como tal.

É amplamente resultante de diferentes aplicativos X, usando diferentes recursos X de maneiras diferentes ...

Mas não ajuda muito saber que não é "realmente" um bug. porque parece um bug!

Há uma lista (abaixo) do que encontrei / testei.

Existe alguma maneira (um daemon?) Que aplique todas essas rugas? Eu prefiro algo que não se encaixa no painel.

A área de transferência do X / Ubuntu é potencialmente impressionante, devido à sua capacidade de 2/3 níveis, mas é um pouco irritante por causa das implementações inconsistentes ...

Eu tenho tentado entender por que a coisa de copiar / colar nem sempre fazia o que eu esperava ... É incrível o que você pode aprender quando lê os documentos de informações :) ... Mas uma pergunta pode atingir o alvo mais rapidamente.

O problema principal parece surgir quando o aplicativo de origem é desligado e você tenta acessar os dados da "área de transferência" provenientes desse aplicativo.

Os aplicativos X GUI têm dois métodos principais de copiar / colar (modos).

Mode NAME    Text Copy method         Text Paste  method
----------   ---------------------    -------------------
PRIMARY      currently selected       mouse middle-click
CLIPBOARD    Control+C selection      Control+V

Eu testei o comportamento dos modos de seleção para alguns aplicativos X diferentes: gvim, gedit, firefox, e gnome-terminal.

NB: * Todas as colagens foram feitas em gedit * A fonte do gedit era de outra instância (raiz))
* Eu tentei alguns "gerenciadores" parcelitee pastie, mas não vejo sentido em compará-los, porque nenhum deles aborda o problema. Ou seja, as ações normalmente esperadas de copiar / colar no teclado são "inconsistentes"

+ --------------------------------------------- + ------------------------------------------- + ------------
| 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
fonte
Como eu gostaria de poder ler toda a sua mesa ao mesmo tempo :-(
Don escotilha

Respostas:

5

Essa é uma limitação conhecida do X, consulte este artigo do wiki oficial:

https://wiki.ubuntu.com/ClipboardPersistence

O principal problema continua sendo a inconsistência entre aplicativos que podem usar uma abordagem diferente para o manuseio da área de transferência.

No artigo wiki, há um aplicativo funcionando e não funcionando (também a única solução proposta é instalar o parcelite como gerenciador de área de transferência)

OpenNingia
fonte
Obrigado OpenNingia .. O wiki é útil. Eu sou muito novo no Linux, então fiquei confuso com ele! mas agora que estou ciente disso (MUITO ciente! depois de testar esses aplicativos) .. bem, agora estarei mais alerta para a "síndrome de desistência" ... Ter a lista wiki é ótimo; Eu não gostava de muito mais "testes" :( ... vou tentar rodar sem parcelite. Quanto menos aplicativos auxiliares melhor (para mim) ... eu sobrevivi a muitos anos do Windows sem lixeira; acho que pode gerenciar a área de transferência (agora que eu sei como a modos de seleção de trabalho) ... é apenas um hábito (como atravessar a estrada).
Peter.O
Vamos torcer para o melhor, quando o Ubuntu mudar para Wayland, espero que eles resolvam o problema! :)
OpenNingia
Parcellite não consertou a saída vazia para mim, eu ainda tinha que me aprofundar no histórico da área de transferência manualmente para extrair o que queria. Ugh. Eu gostaria que o Mozilla implementasse apenas o padrão ClipboardManager.
bobince
Provavelmente é uma deficiência de xulrunner, não consigo pensar em nenhuma solução alternativa.
OpenNingia
@bobince. Eu suspeito (com base em minha pesquisa recente) que o motivo "parcelite" não o corrige, porque ele não pode ... Ele só pode manter cópias do que passa pelas seleções X (PRIMARY-selection e CLIPBOAD -Selecção) ... "parcelite" não coloca qualquer coisa em qualquer um dos X-seleções . Esse é o problema fundamental (consulte o link do OpenNingia) ... Diferentes aplicativos seguem padrões diferentes, mas o "Google Summer Of Code 2010" está procurando maneiras de arrumar isso ... então as coisas estão acontecendo ... (o Ubuntu está se afastando) da própria X !. que vai alterar o estado da área de transferência de coisas.
Peter.O
0

Tente autocutsel, em repositórios - ele sincroniza os dois. Você precisa adicioná-lo ao .bashrc ou aps de inicialização ou apenas iniciá-lo manualmente (é linha de comando, não gui), mas sempre funcionou bem para mim. Você precisa se lembrar de mudar o foco para o campo (se navegador, por exemplo) ou documento (gedit, kate, gvim ...) antes de colar, ou ele parecerá não funcionar.

fitzhugh
fonte
0

Eu estava apenas olhando para o GPaste, que é o que eu uso. Parece manipular as ações de copiar e colar, mesmo que você tenha fechado o aplicativo do qual copiou!

Existe até uma boa extensão para o Gnome-shell :-)

bmbaker
fonte