En algunas configuraciones predeterminadas de Linux, Shift+ Insertrealizará un X-selection-paste
. Como notó, esto es claramente diferente del X-clipboard-paste
comando, cuyo enlace a menudo varía según la aplicación. Si eso no funciona, hay otras claves para probar:
Ctrl+V
Ctrl+ Shift+V
Ctrl+ Shift+Insert
¿No vayas? Su entorno de escritorio o administrador de ventanas probablemente no los tiene configurados, y es complicado porque, incluso bajo el banner de un DE o WM, cada kit de herramientas (por ejemplo, GTK, Qt, Etc.) puede tener enlaces predeterminados diferentes. Algunos programas (por ejemplo gvim
) incluso tienen sus propios registros internos de copia que no están necesariamente sincronizados con el entorno gráfico en el que se ejecutan. Para colmo, incluso cuando un programa usa el sistema X-portapapeles, X tiene múltiples sistemas para elegir. Los dos más básicos son el búfer de selección, que siempre tiene lo que sea lo último que se seleccionó (execpt cuando no lo tiene), y el búfer de copia, en el que generalmente deben copiarse las cosas. Para hacer una copia explícita en el último sistema, puede probar cualquiera de estos por tamaño:
Ctrl+C
Shift+ Ctrl+C
Ctrl+Insert
Si nada de eso funciona mágicamente para usted, hay dos maneras de hacerlo.
¡Hay una aplicación para eso! ™ Use uno de los diversos programas de administrador de portapapeles para manejar esto por usted. Los más populares parecen ser Parcellite y Glippy , pero puede consultar otras alternativas aquí . Consulte también esta pregunta sobre administradores avanzados de portapapeles
Hackéalo tú mismo.
Entonces, digamos que quieres hackearlo.
A falta de escribir su propio código y aprovechar la API X, las herramientas de hackers para el trabajo son un par de pequeñas utilidades de línea de comando que le dan una ventana a la mente de X. Solo una pequeña ventana, la vista completa da demasiado miedo .
La primera herramienta es xsel
. Este pequeño trabajador escupirá lo que sea que esté en el búfer de selección de X en cualquier momento dado.
Ahora necesita incluir eso en su programa. Hay dos opciones para esto. Una es la xdotool
que le permite imitar el envío de eventos al sistema de entrada Xorg. Se puede utilizar de tipo método como xdotool type foo_bar
a la tipificación mímica 'foo_bar' en el cursor. Combinado, obtienes algo como esto:
$ xdotool type $(xsel)
El otro es el xvkbd
que envía eventos de teclado desde un subsistema inferior. Puede canalizar pulsaciones de teclas en STDIN. Combinado con xsel
, obtienes algo como esto:
$ xsel | xvkbd -xsendevent -file -
Excelente. Ahora para que la combinación de teclas ejecute estas cosas. Si ejecuta Gnome-2, puede agregar un atajo personalizado en Sistema -> Preferencias -> Atajos de teclado . Si utiliza un DE o WM diferente, este ejercicio se deja al lector.
La última nota es que cuando se vinculan comandos a métodos abreviados de teclado, a menudo es necesario tener solo un comando, no dos comandos conectados con una tubería como usamos anteriormente. Puede lograr esto invocando su comando canalizado como una cadena de comando argumetn a un nuevo shell como este:
sh -c 'xsel | xvkbd -xsendevent -file -'
sh -c 'xdotool type "$(xsel)"'