El comando xclip y xsel en Linux: copiar al portapapeles desde terminal

Introducción

En el día a día de trabajo con Linux, es frecuente necesitar copiar texto o comandos desde la terminal hacia otras aplicaciones, como un editor de texto, un navegador o un cliente de chat. En lugar de seleccionar con el mouse y usar Ctrl+Shift+C, existen herramientas de línea de comandos que permiten enviar directamente el contenido al portapapeles del entorno gráfico. Las más populares son xclip y xsel. Este artículo explica qué son, cómo instalarlas, sus opciones básicas y algunos ejemplos avanzados para que puedas integrarlas en tu flujo de trabajo.

¿Qué son xclip y xsel?

Ambas utilidades actúan como un puente entre la entrada estándar (stdin) y el portapapeles X11. Cuando rediriges la salida de un comando a xclip o xsel, el texto queda disponible en el portapapeles y puede ser pegado con el atajo habitual (Ctrl+V o Shift+Insert). La diferencia principal radica en sus opciones y en el comportamiento predeterminado respecto a los distintos buffers (primario, secundario y de portapapeles).

Instalación

En la mayoría de las distribuciones basadas en Debian, el paquete se llama xclip o xsel. En sistemas Red Hat/Fedora los nombres son idénticos. Los comandos de instalación típicos son:

  • Debian/Ubuntu: sudo apt update && sudo apt install xclip xsel
  • Fedora: sudo dnf install xclip xsel
  • Arch Linux: sudo pacman -S xclip xsel

Tras la instalación, basta con verificar que los binarios estén en el PATH ejecutando which xclip y which xsel.

Uso básico de xclip

El modo más sencillo es redirigir la salida de un comando a xclip:

echo \"Texto de ejemplo\" | xclip

Esta llamada usa por defecto el buffer primario (selección). Para pegar, basta con hacer clic medio o usar Shift+Insert en la mayoría de los entornos. Si deseas usar el portapapeles que responde a Ctrl+V, debes especificar la opción -selection clipboard:

echo \"Texto para Ctrl+V\" | xclip -selection clipboard

También puedes leer el contenido del portapapeles con la opción -o (output):

xclip -o -selection clipboard

Uso básico de xsel

xsel funciona de forma muy similar, pero sus opciones son un poco más concisas. Para copiar al portapapeles estándar:

echo \"Texto para xsel\" | xsel --clipboard --input

 

Para leer el portapapeles:

 

xsel --clipboard --output

Si omites --clipboard, xsel actúa sobre el buffer primario (selección).

Ejemplos prácticos

    • Copiar la ruta del directorio actual:
pwd | xclip -selection clipboard

 

  • Guardar la salida de un comando largo en el portapapeles:

 

grep -r \"error\" /var/log --include=\"*.log\" | xsel --clipboard --input
  • Intercambiar contenido entre dos terminales:
# En la primera terminal
cat archivo.txt | xclip -selection clipboard
# En la segunda terminal
xclip -o -selection clipboard > copia.txt
  • Usar xclip en un alias para simplificar el comando:
alias cpclip='xclip -selection clipboard'
# Luego
ls -l | cpclip

Diferencias clave entre xclip y xsel

Aunque cumplen la misma función, existen matices que pueden influir en la elección:

  • Dependencias: xclip requiere la biblioteca X11, mientras que xsel puede compilarse con soporte para Wayland mediante extensiones adicionales.
  • Velocidad: En pruebas simples, xsel tiende a ser ligeramente más rápido al manejar grandes volúmenes de datos.
  • Sintaxis: Algunos usuarios encuentran la sintaxis de xsel más intuitiva porque las opciones --input y --output están explícitas.
  • Disponibilidad: En instalaciones mínimas de servidores sin entorno gráfico, ninguno de los dos funciona sin un servidor X o Wayland activo.

Consejos y buenas prácticas

  • Siempre verifica qué buffer estás usando; confundir el primario con el portapapeles puede llevar a pegar texto inesperado.
  • En scripts que se ejecutan en entornos sin GUI (por ejemplo, cron), redirige la salida a /dev/null o usa herramientas como pbcopy en macOS o clip en Windows si necesitas multiplicar plataformas.
  • Combina xclip/xsel con ssh -X o reenvío de X para copiar texto desde una sesión remota al portapapeles local.
  • Si trabajas con Wayland puro, considera alternativas como wl-clipboard (comandos wl-copy y wl-paste) que son los equivalentes nativos.

Conclusión

Dominar xclip y xsel te permite ahorrar tiempo y reducir la dependencia del mouse al trabajar en la terminal. Tanto si necesitas copiar una ruta, un resultado de comando o un fragmento de código, estas herramientas ofrecen una forma rápida y fiable de interactuar con el portapapeles de tu entorno gráfico. Prueba los ejemplos mostrados, adapta los aliases a tu flujo de trabajo y descubre cuál de las dos utilidades se ajusta mejor a tus necesidades.

Esta obra está bajo una Licencia Creative Commons Atribución 4.0 Internacional para Francesc Roig francesc@vivaldi.net .

EspañolesEspañolEspañol