Copie/Cole conteúdo do terminal para o X e vice-versa
Fala gente! Esse artigo é bem útil para aqueles que, como eu, usam bastante o terminal mas em algum momento precisam copiar alguma coisa para colar em outro lugar através do X. Você poderá copiar arquivos/textos para a área de transferência e vice-versa.
Procedimento
Fala gente! Esse artigo é bem útil para aqueles que, como eu, usam bastante o terminal mas em algum momento precisam copiar alguma coisa para colar em outro lugar através do X.
Para isso vamos precisar de um programa, mas trago dois como opções. Eu tenho um preferido - uma dica: a pronúncia parece com um software da MS - mas fica para você escolher o seu. ;)
Os programas são: xsel e xclip. Ambos bem conceituados e provavelmente estão nos repositórios de sua distribuição (a menos que você use Slackware e afins, mas eles estão lá no SlackBuilds também ^-^).
Definindo: Selections
Tenha em mente que esses programas trabalham com o conceito de selections.
O que seria isso?
Bem, é a partir daí que eles direcionam a atuação para a selection primária, secundária, clipboard... A clipboard é a tal "área de transferência", a que é alterada pelo "Ctrl + c/v", pelo X. A primária (primary) e a secundária (secondary) são variáveis que o próprio programa utiliza.
Sendo que a que nos interessa mesmo, nesse artigo (e no dia a dia), é a clipboard.
No xsel, para selecionarmos o clipboard como a selection a usar é da seguinte forma:
xsel -b
$ xsel --clipboard
Já no xclip é:
xclip -selection clipboard
Sabendo disso, vamos usar sempre a seleção agora para poder fazer as alterações direto na nossa área de transferência.
É bem simples. Em ambos os programas fazemos da mesma forma:
xsel -o
$ xclip -o
Mas saiba também que se o xsel não for acompanhado de nenhuma opção, o padrão é ele exibir o conteúdo. Logo, o comando acima equivale a:
xsel
Esses comandos vão exibir o conteúdo do clipboard na tela. Para passar para um arquivo, como valor de um programa, e outras funções afins, basta direcionar seu fluxo. Veja um exemplo para salvar no arquivo de nome cv.txt no diretório /tmp:
xsel > /tmp/cv.txt
$ xclip -o > /tmp/cv.txt
Então vamos lá... No início do texto eu disse que o de minha preferência é o xsel e aqui ele já começa a se destacar. Vejamos...
No xclip podemos fazer a cópia da seguinte maneira:
xclip -selection clipboard /tmp/cv.txt
Utilizando o mesmo arquivo que salvamos anteriormente, só para exemplo.
E no xsel, podemos fazer isso de duas maneiras:
xsel -b < /tmp/cv.txt
$ xsel -b -i < /tmp/cv.txt
Ambos os comandos fazem o mesmo resultado. Mas agora que vem um pequeno diferencial do xsel: com ele, posso acrescentar dados ao clipboard.
Para isso, posso utilizar de um parâmetro que dispomos:
xsel -b -a < /tmp/cv.txt
Faça a operação de Ctrl + v agora para verificar se não está com o conteúdo diferente! ;)
Limpando selection.
Uma opção que acho interessante dele é eu poder limpar a selection que eu quiser. Basta usar o comando:
xsel -c -b
Trocando conteúdo da primary com a secondary.
Isso mesmo, para quem usa também a seleção primária e secundária dada como opções pelo programa pode ter a comodidade de trocar os seus valores usando apenas um parâmetro:
xsel -x
Claro que isso podemos fazer com o xclip, basta brincar um pouco com mais comandos nativos, mas dessa forma mostrada é bem mais simples, convenhamos! :D
xsel -l
O padrão do endereço do arquivo é ~/.xsel.log.
Para isso vamos precisar de um programa, mas trago dois como opções. Eu tenho um preferido - uma dica: a pronúncia parece com um software da MS - mas fica para você escolher o seu. ;)
Os programas são: xsel e xclip. Ambos bem conceituados e provavelmente estão nos repositórios de sua distribuição (a menos que você use Slackware e afins, mas eles estão lá no SlackBuilds também ^-^).
Instalação
P.S.: o procedimento de instalação não vou mostrar aqui, afinal, pressuponho que quem busca uma dica como essa saiba instalar um programa em sua distro, usando APT, aptitude, pacman, yum, SlackBuilds ou afins... Sabendo disso, vamos seguindo.Definindo: Selections
Tenha em mente que esses programas trabalham com o conceito de selections.
O que seria isso?
Bem, é a partir daí que eles direcionam a atuação para a selection primária, secundária, clipboard... A clipboard é a tal "área de transferência", a que é alterada pelo "Ctrl + c/v", pelo X. A primária (primary) e a secundária (secondary) são variáveis que o próprio programa utiliza.
Sendo que a que nos interessa mesmo, nesse artigo (e no dia a dia), é a clipboard.
No xsel, para selecionarmos o clipboard como a selection a usar é da seguinte forma:
xsel -b
$ xsel --clipboard
Já no xclip é:
xclip -selection clipboard
Sabendo disso, vamos usar sempre a seleção agora para poder fazer as alterações direto na nossa área de transferência.
Ctrl + v
Para a função de "Ctrl + v", que seria a de exibir o conteúdo da área de transferência para a tela, ou algum arquivo, vejamos como fazer...É bem simples. Em ambos os programas fazemos da mesma forma:
xsel -o
$ xclip -o
Mas saiba também que se o xsel não for acompanhado de nenhuma opção, o padrão é ele exibir o conteúdo. Logo, o comando acima equivale a:
xsel
Esses comandos vão exibir o conteúdo do clipboard na tela. Para passar para um arquivo, como valor de um programa, e outras funções afins, basta direcionar seu fluxo. Veja um exemplo para salvar no arquivo de nome cv.txt no diretório /tmp:
xsel > /tmp/cv.txt
$ xclip -o > /tmp/cv.txt
Ctrl + c
Já vimos como fazer a colagem do que temos na área de transferência, mas antes de colar, temos de copiar, certo?!Então vamos lá... No início do texto eu disse que o de minha preferência é o xsel e aqui ele já começa a se destacar. Vejamos...
No xclip podemos fazer a cópia da seguinte maneira:
xclip -selection clipboard /tmp/cv.txt
Utilizando o mesmo arquivo que salvamos anteriormente, só para exemplo.
E no xsel, podemos fazer isso de duas maneiras:
xsel -b < /tmp/cv.txt
$ xsel -b -i < /tmp/cv.txt
Ambos os comandos fazem o mesmo resultado. Mas agora que vem um pequeno diferencial do xsel: com ele, posso acrescentar dados ao clipboard.
Para isso, posso utilizar de um parâmetro que dispomos:
xsel -b -a < /tmp/cv.txt
Faça a operação de Ctrl + v agora para verificar se não está com o conteúdo diferente! ;)
Mais umas breves vantagens do xsel
Aqui vou justificar um pouco minha preferência sobre o xsel.Limpando selection.
Uma opção que acho interessante dele é eu poder limpar a selection que eu quiser. Basta usar o comando:
xsel -c -b
Trocando conteúdo da primary com a secondary.
Isso mesmo, para quem usa também a seleção primária e secundária dada como opções pelo programa pode ter a comodidade de trocar os seus valores usando apenas um parâmetro:
xsel -x
Claro que isso podemos fazer com o xclip, basta brincar um pouco com mais comandos nativos, mas dessa forma mostrada é bem mais simples, convenhamos! :D
Gerando log
Pois é! Para aqueles apaixonados (a.k.a. psicóticos) que gostam de saber de qualquer coisa que dê errado no computador, pode usar a opção de gerar log caso apresente algum erro na execução do procedimento.xsel -l
O padrão do endereço do arquivo é ~/.xsel.log.
Comunidade Manjaro Geek -www.manjaro-geek.org