Acesse a área de transferência do Unix

16

Temos um servidor Linux e existem vários usuários (portanto, várias contas) nesse servidor. Então, logicamente, haveria pranchetas diferentes para usuários diferentes.

Minha pergunta é: assim como no Windows, podemos ter um visualizador de área de transferência, como posso ver o conteúdo da área de transferência no Unix?

Maggi
fonte
3
Não sei ao certo o que você está pedindo? Seus usuários estão usando X? Caso contrário, eles estão usando sshuma área de transferência.
21812 Ulrich Dangel

Respostas:

16

Seu raciocínio é sólido, mas você partiu de uma premissa incorreta. O Linux realmente não tem "pranchetas", esse conceito simplesmente não faz parte do sistema operacional. Em vez disso, o sistema de janelas, quase sempre o X11, implementa pranchetas . O servidor X11, que gerencia e executa a exibição, faz pranchetas. Dessa forma, uma área de transferência é propriedade de um programa no nível do usuário, não do sistema operacional e, além disso, há um conjunto de áreas de transferência para cada exibição (que é mais ou menos cada monitor ou tela, mas nem sempre).

Dito isto, a área de transferência do X11 é um pouco estranha .

Quanto a ver o conteúdo, eu sempre gostei de xcb , mas isso é aparentemente considerado bastante obscuro hoje em dia. Você pode gostar de parcellite , mas, ao redor, parece que existem muitos gerenciadores de área de transferência X11 e programas de interação.

Bruce Ediger
fonte
10

A área de transferência é nada de especial e apenas um detalhe de implementação de alguns programas, por exemplo X, emacs, vime outros programas têm implementações que você poderia se referem como clipboards.

Como você está falando de um servidor, presumo que seus usuários façam login no sistema, o sshque significa que não há área de transferência para esses usuários, isso é tratado pelo sistema Hosts e terminal.

Se você deseja acessar a Xárea de transferência, existem várias soluções, por exemplo:

  • xclip - uma interface de linha de comando para o clibpoard
  • clipit - um gerenciador de área de transferência sem dependências de outros ambientes da área de trabalho

Se você quiser acessar o Xconteúdo da área de transferência para outro usuário, precisará acessar a Xsessão para esse usuário.

Você pode procurar muitas outras coisas, por exemplo , autocutsel , integração entre a área de transferência do X e o emacs, etc.

Ulrich Dangel
fonte
1

No emacs, examine

clipboard-kill-region
clipboard-kill-ring-save
clipboard-yank

Eu escrevi isso para copiar um buffer inteiro para a área de transferência:

(defun copy-all ()
  "copy buffer to clipboard"
  (interactive)
  (clipboard-kill-ring-save (point-min) (point-max))
  (message "Copy done.") )

Além disso, eu fiz um alias útil chamado xc, como este: xclip -selection clipboard. Então, echo $(pwd) | xc(por exemplo) enviará sua posição da árvore de diretórios para a área de transferência.

E, por acidente, notei que posso colar no urxvt pressionando o botão da roda do mouse. Eu não gosto de usar o mouse, então se você sabe como vincular isso a um atalho de teclado, me diga.

Edit: Eu descobri (em algum lugar deste site) que a resposta para a (minha) pergunta final é - ela já está pronta, ou seja, Shift-Insert.

Emanuel Berg
fonte
Você deve postar seu atalho de vinculação-colar-para-teclado-como uma pergunta - obterá melhor ajuda dessa maneira.
27612 Bruce Ediger
@BruceEdiger: Certo, mas tudo o mais no post, incluindo como colar em um terminal (pelo menos uma maneira de fazê-lo), é útil, como eu entendi a pergunta - você vê onde estou conseguindo? - simplesmente ignorar a última frase se ele incomoda você :)
Emanuel Berg