En máquinas con servidor X, he usado el selection
portapapeles para sincronizar copiar y pegar entre la GUI y los programas de terminal. Ahora tengo un servidor sin X donde me gustaría sincronizar copiar y pegar entre aplicaciones de terminal, por ejemplo, zsh
y vim
y tmux
. Más adelante, espero sincronizar aún más ese portapapeles con el portapapeles del sistema de la Mac que estoy usando para SSH en el servidor Linux.
¿Es posible tal configuración? Concretamente,
¿Es un portapapeles compartido para que Linux sincronice copiar y pegar entre aplicaciones de terminal sin tener X11 en ejecución?
¿Existe alguna herramienta similar a
xsel
yxclip
para esto?Aún mejor, ¿existe una herramienta como estas que funcione con y sin ejecutar el servidor X, permitiéndome usar la misma configuración/archivos de puntos para ambos escenarios?
Finalmente, y admito que este es un tema un poco aparte, ¿cómo se podría sincronizar este portapapeles con el de un cliente SSH?
Respuesta1
No existe un portapapeles común para aplicaciones de terminal. Cada uno de tmux, zsh y vim tiene su propio portapapeles.
tmux tiene un mecanismo para enviar texto copiado al terminal externo con una secuencia de escape (la set-clipboard
opción) y también para leer el portapapeles ( refresh-client -l
). Sólo los terminales X soportan esta característica y no todos.
tmux también admite la misma secuencia de escape (OSC 52), lo que permite que las aplicaciones dentro de tmux lean el búfer de pegado más reciente (si set-clipboard
está configurado en on
). Sin embargo, que yo sepa, pocas aplicaciones, si es que hay alguna, utilizan esto.
tmux también le permite guardar buffers de pegado en un archivo o realizar una salida estándar con el save-buffer
comando y cargarlos con el load-buffer
comando. Probablemente sea más fácil de usar que OSC 52.
Espero que sea posible escribir scripts para que zsh y vim utilicen una u otra de estas funciones para configurar y recuperar su portapapeles.
Entonces, sí, podrías armar algo ejecutando todo dentro de tmux, usando tmux para sostener el portapapeles y escribiendo algunos scripts para obtenerlo y configurarlo desde vim, zsh, etc., pero creo que tendrás que hacerlo tú mismo, hay ninguna solución existente.