Copiar a saída do terminal ao portapapeis
Introducción
En ocasións preciso copiar a saída dun comando da terminal ao portapapeis, de xeito que o poida pegar noutra xanela.
Por exemplo podería querer copiar a saída dun comando que está a faiar, para buscar o erro en internet.
Ou copiar a saída dun comando cat
para pegar o contido nun ssh remoto.
Por suposto isto pódese facer co rato, seleccionando o texto na terminal e copiando co botón dereito ou premendo
ctrl+maiúsculas+c
. Pero se queremos facer isto sen tener que seleccionar o texto, podemos utilizar o comando xclip
.
Xclip
Cando busquei información fai tempo sobre este asunto, o primeiro que atopei foi xclip
. Este comando permite copiar
a saída ao portapapeis. Para instalarlo basta executar sudo apt install xclip
. Para copiar a saída dun comando
do xeito que queremos, executar comando | xclip -selection clipboard
.
Por exemplo: cat /etc/passwd | xclip -selection clipboard
.
Con isto xa teríamos o texto no portapeis dispoñible para pegalo onde precisemos. Se o queremos facer na propia consola,
chegará con executar xclip -o
en lugar de xclip -selection clipboard
.
Sen embargo cando hoxe o tentei facer, non me funcionaba. Por algún motivo o portapapeis do escritorio non mudaba o
contido. Si que podo traballar sobre a mesma terminal e pegar o texto con xclip -o
, pero non fora.
Polo que puiden atopar parece que para funcionar, xclip
, precisa conectar ca sesión de xorg. E neste momento estou
a correr Wayland. Así que tiven que buscar outra aplicación para isto.
wl-clipboard
Así atopei wl-clipboard
. Este comando permite copiar a saída ao portapapeis. Para instalarlo basta executar
sudo apt install wl-clipboard
. Para copiar a saída dun comando do xeito que queremos, executar
comando | wl-copy
. Por exemplo: cat /etc/passwd | wl-copy
. E para pegar o contido executaremos wl-paste
.
Por algún motivo isto parece que non sempre funciona, xa que ao executar un comando que me amosase o contido dun
certificado SSL, non tiña nada no portapapeis. Parece que algunhas aplicacións non saben como comunicarse con
wl-clipboard. Ou iso lin por internet. Neste caso parece que chega con engadir o flag --type text/plain
ao comando
wl-copy
. Por exemplo cat rootCA.pem | wl-copy --type text/plain
.
Con isto agora si o teño no meu portapapeis e podo pegalo onde queira.
Conclusión
Hai varias aplicacións para facer o que preciso, nalgúns casos as ferramentas quedan obsoletas por mor dos cambios no compositor ou na distribución. Pero no mundo do software libre é doado atopar unha ferramenta que veña a cubrir rapidamente as necesidades.
Bibliografía
Artigo en Victorhckinthefreeworld: https://victorhckinthefreeworld.com/2024/10/02/copiar-en-la-terminal-la-salidad-de-un-comando-en-el-portapapeles-de-linux/
Foro onde atopei a solución a wl-copy: https://bbs.archlinux.org/viewtopic.php?id=283588
Artigos Relacionados:
- AWK
- Eliminar liñas nun ficheiro con sed
- Cómo crear un live USB dende a terminal
- Engadir tarefas a Systemd
- Controlar la temperatura del equipo con bash y telegram
- Instalar Fedora con BTRFS, cifrado e Snapshots activos
- AWK
- Mudar as DNS en Fedora
- Distrobox
- Instalar Fedora en VirtualBox
- Eliminar liñas nun ficheiro con sed
- Cómo crear un live USB dende a terminal
- Engadir tarefas a Systemd
- Configurar acceso SFTP a un directorio
- Inicio de sesión automático en Alpine linux
- Crear un usuario con permisos restrinxidos para backups
- error: gpg failed to sign the data
- Xestionar varias claves ssh
- Cómo instalar Traefik con docker
- Configurar sshfs para acceder al sistema de ficheros de forma segura
- Securizar sudo no noso sistema
- Cómo instalar Raspberry OS
- Instalando docker en modo rootless en Debian
- Configuración e uso de GPG en linux