Como posso copiar texto do xterm (Awesome, Debian, VirtualBox)?

14

Eu executei a instalação mínima do Debian dentro de uma instância do VirtualBox, instalei o X11 e o gerenciador de janelas Awesome manualmente (sem nenhuma configuração personalizada) e instalei adições ao VirtualBox (e habilitei a área de transferência compartilhada nas configurações). No entanto, copiar e colar texto do terminal xterm ainda não parece funcionar: CTRL + C é enviado como um sinal para um terminal, e Shift + Insert insere o texto que eu selecionei (o que provavelmente significa que ele foi copiado para algum buffer de alguma forma), mas ainda está indisponível no sistema operacional do host.

    
por Max Yankov 24.08.2015 / 10:18

4 respostas

17

O X11 usa dois buffers: PRIMARY e CLIPBOARD . Para copiar / colar no buffer CLIPBOARD você pode usar com freqüência CTRL-C e CTRL-V . Você pode inserir no buffer PRIMARY selecionando um texto e colando-o pressionando o botão do meio do mouse.

Se você quiser usar o CLIPBOARD buffer, coloque isso no seu arquivo ~/.Xresources e use Ctrl + Deslocamento + C e Ctrl + Deslocamento + V para copiar / colar de / para o buffer CLIPBOARD no xterm:

xterm*VT100.Translations: #override \
                 Ctrl Shift <Key>V:    insert-selection(CLIPBOARD) \n\
                 Ctrl Shift <Key>C:    copy-selection(CLIPBOARD)

Você precisa executar xrdb ~/.Xresources depois de colocar isso no arquivo.

    
por 24.08.2015 / 11:01
13

Não é necessário modificar os recursos de traduções do xterm para copiar dados para / do Firefox, a menos que você prefira usar o teclado para ajudar no processo.

Desde 2006 o xterm tem um recurso selectToClipboard que permite alternar entre os > PRIMARY seleção (padrão) e CLIPBOARD (Firefox, etc).

Como alguns programas usam a seleção principal, e outros não, é uma entrada de menu no xterm ( controle meio-mouse ):

AdaptarasugestãoparacaracteresdecontrolecomoosaplicativosGNOMEpermiteusarotecladoe,aomesmotempo,deixaromenualternarentreosdoistiposdeseleções:

xterm*VT100.Translations:#override\CtrlShift<Key>V:insert-selection(SELECT)\n\CtrlShift<Key>C:copy-selection(SELECT)

apesardeadicionarshiftInserirpodeestarmaispróximodaintençãooriginal:

xterm*VT100.Translations:#override\Shift<Key>Insert:insert-selection(SELECT)\n\CtrlShift<Key>V:insert-selection(SELECT)\n\CtrlShift<Key>C:copy-selection(SELECT)

UmcontrolesimplesCégeralmenteatribuídoaumsinalINTR:

$stty-aspeed38400baud;rows40;columns80;line=0;intr=^C;quit=^\;erase=^H;kill=^U;eof=^D;eol=<undef>;eol2=<undef>;swtch=<undef>;start=^Q;stop=^S;susp=^Z;rprnt=^R;werase=^W;lnext=^V;flush=^O;min=1;time=0;-parenb-paroddcs8-hupcl-cstopbcread-clocal-crtscts-ignbrk-brkint-ignpar-parmrk-inpck-istrip-inlcr-igncricrnlixon-ixoff-iuclc-ixany-imaxbel-iutf8opost-olcuc-ocrnlonlcr-onocr-onlret-ofill-ofdelnl0cr0tab0bs0vt0ff0isigicanoniextenechoechoeechok-echonl-noflsh-xcase-tostop-echoprtechoctlechoke

Leituraadicional:

  • Por que não posso selecionar / colar para / de outros programas? (xterm FAQ)
por 04.07.2016 / 20:45
3
  1. Abra xterm e destaque o texto que você deseja copiar.
  2. Vá para o aplicativo no qual você deseja colar e passe o cursor do mouse sobre o campo que deseja colar.
  3. Clique no botão de rolagem do mouse. (em laptops isso pode ser feito pressionando o botão esquerdo e direito ao mesmo tempo)

Quando você realça o texto, ele copia o texto para o buffer principal. Tenha em mente que, se você destacar qualquer outro texto antes de colar, esse texto substituirá o conteúdo anterior no buffer principal.

    
por 24.08.2015 / 10:38
2

Acontece que eu não contei para o fato de que o X11 tem dois buffers: primary e clipboard . Meu texto do xterm foi copiado no buffer primário, enquanto eu precisei dele no buffer da área de transferência.

Consegui corrigir o problema instalando parcellite package, lançando-o e configurando-o para sincronizar dois buffers.

    
por 24.08.2015 / 10:41