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
--inputy--outputestá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
pbcopyen macOS oclipen Windows si necesitas multiplicar plataformas. - Combina xclip/xsel con
ssh -Xo 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(comandoswl-copyywl-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.