¿Cómo puedo sincronizar el portapapeles de aplicaciones de terminal en un servidor sin X?

¿Cómo puedo sincronizar el portapapeles de aplicaciones de terminal en un servidor sin X?

En máquinas con servidor X, he usado el selectionportapapeles 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, zshy vimy 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 xsely xclippara 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-clipboardopció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-clipboardestá 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-buffercomando y cargarlos con el load-buffercomando. 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.

información relacionada