xclip: Manipulant el portapapers des de la línia d'ordres

El porta-retalls o porta-retalls és una eina que ens ofereix el servidor X del nostre sistema operatiu per tal de compartir informació entre aplicacions.

És el responsable d'operacions tan recurrents com el tallar, copiar y enganxar. Consisteix en una mena de magatzem o buffer on les aplicacions poden emmagatzemar dades perquè aquests puguin ser utilitzats posteriorment per la mateixa o per altres aplicacions.

En general, tots sabem utilitzar-lo des d'un punt de vista d'usuari, ja sigui mitjançant els menús de les aplicacions, o bé mitjançant les dreceres de teclat, normalment:

  • Ctrl+X tallar
  • Ctrl+C Copiar
  • Ctrl+V Agafar

No obstant això, què passa quan el volem utilitzar el portapapers des d'un script?

xclip

xclip és una aplicació que ens permet introduir text al porta-retalls i recuperar text d'ell des de la línia d'ordres. El text recuperat pot haver estat introduït per qualsevol altra aplicació.

Així mateix, el text que s'introdueix en el porta-retalls a través d' xclip pot ser utilitzat per qualsevol altra aplicació.

El paquete xclip pot trobar-se als repositoris de la majoria de distribucions. Per exemple, en Ubuntu no cal més que un apt-get per instal·lar-lo:

$ sudo apt-get install xclip

El seu ús bàsic és molt senzill. Per introduir el text de l'entrada estàndard al porta s'ha d'especificar l'opció -i:

$ echo "Hola mundo" | xclip -i

El text «Hola món» passarà a estar disponible per a la resta d'aplicacions. De la mateixa manera, per recuperar el text de l'portapapers i enviar-lo a la sortida estàndard s'ha d'especificar la opció -o:

$ Xclip -o Hola món

seleccions

El porta-retalls ens ofereix tres buffers o seleccions diferents:

  • PRIMÀRIA: És el buffer per defecte. En ell s'emmagatzema text simplement amb marcar-ho amb el cursor, sense necessitat de prémer combinació de tecles ni opció al menú cap.
  • clipboard: Aquest buffer és el més utilitzat per les aplicacions. En ell s'emmagatzema el text seleccionat pel cursor només després d'haver premut la combinació de tecles o opció de menú per tallar o copiar.
  • SECUNDÀRIA: És un buffer auxiliar i independent. Està totalment disponible però les aplicacions no solen utilitzar-lo de forma estàndard. S'usa només amb fins molt particulars.

xclip pot manipular els tres buffers. Només cal especificar quin volem utilitzar, mitjançant l'opció -selecció i la primera lletra de el nom de la memòria intermèdia. Per omissió, s'utilitza el buffer PRIMÀRIA.

Per exemple, per obtenir el text que s'ha tallat en una altra aplicació, hem d'especificar que volem el contingut de sortida de la memòria intermèdia clipboard, Amb les opcions -o y -selecció c

$ xclip -o -selection c
Texto cortado en gedit

Una aplicació pràctica

l'eina xclip ofereix moltes possibilitats. És principalment útil en scripts, On no tenim la possibilitat d'usar dreceres de teclat, ja que els processos es realitzen de forma autònoma.

Posem un exemple: imaginem que volem poder buscar qualsevol paraula que aparegui en qualsevol aplicació o pàgina web en wordreference per traduir-la a l'anglès o de l'anglès amb només una pulsació de teclat.

En primer lloc hem d'esbrinar el format d'URL amb el qual se li passen paràmetres a la pàgina web de destí. En aquest cas és el següent:

http://www.wordreference.com/es/translation.asp?tranword=PARAULA

Un cop sabem això, simplement hem de crear un script que obri aquest URL amb, per exemple, Firefox, substituint PARAULA pel codi equivalent que ens torni el text que es troba al porta-retalls.

Li anomenarem, per exemple, wordreference.sh, i contindrà el següent:
#!/bin/bash
firefox http://www.wordreference.com/es/translation.asp?tranword=$(xclip -o)

Per acabar, un cop li hem guardat el nostre script i li hem donat permisos d'execució, Hem de associar-lo a una drecera de teclat en el nostre gestor d'escriptori. Per exemple, li assignem la combinació Ctrl+G. I ja el tenim llest.

Ara només ens queda utilitzar-lo. Marquem amb el cursor qualsevol paraula que vulguem traduir i premem Ctrl+G. Veurem com, sense més, s'obre l'explorador amb la pàgina corresponent a la traducció de la paraula marcada.

És una manera pràctica de tenir el traductor sempre a mà sense necessitat d'instal·lar aplicacions de diccionari.

A més, aquest mateix mètode pot utilitzar-se per invocar qualsevol altra pàgina web, com pot ser google, Wikipedia o un altre lloc que ens permeti fer cerques, o bé per obrir aplicacions que requereixin paràmetres en la seva crida.

¿Més aplicacions? El que la imaginació us suggereixi.


6 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   KZKG ^ Gaara va dir

    Bon article, es necessiten més com aquest a la xarxa.

    Des que vaig fer escurça [1] (més que res per al meu propi benefici) camino usant xclip, més que res perquè és multi-escriptori, és a dir, tant és si és Gnome o KDE o etc, podré manipular dades de l'retalls sense problemes 🙂

    Salutacions

    [1] -» bloc.desdelinux.net/tag/escurça/

    1.    beny_hm va dir

      admin XNUMX preguntota com surt el teu logo de fitxers i ami només em surt el punxi pingüí XD jo vull q em surti aquest logito T_T

  2.   wikimx va dir

    Exclente, xclip em dóna una idea per a un script amb axel, si em surt bé l'script el comparteixo amb vostès en aquesta àrea 😀

  3.   usemoslinux va dir

    Genial!

  4.   neysonv va dir

    exelente article m'obre les portes a un munt d'idees. només em queda un dubte; se suposa que és per al servidor de les x, així que la pregunta és: servirà per WAYLAND o mir ??? per xmir és evident que si però no en els altres dos casos.
    salutacions

  5.   pobreotaku va dir

    que guai, una ordre mes per l'arsenal