¿Hay alguna forma de leer el contenido actual del terminal (ventana visible o búfer completo, lo que sea más fácil) mediante programación?
Necesito esto porque estoy intentando desarrollar un programa que,despuésAl ejecutar un comando arbitrario, funciona con su salida. me estresodespués- Sé que se utilizan tuberías para esto, pero el propósito del programa es evitar eso.
Una posible solución sería una combinación de programación Select all
seguida de una xsel
invocación, aunque no conozco ninguna forma de realizar la primera operación [en Gnome Terminal].
Respuesta1
Puedes hacerlo con un script usando screen
y xdotool
.
Este podría ser tu outputworker.sh
:
#!/bin/sh
$1
xdotool key --clearmodifiers ctrl+a colon h a r d c o p y space o u t p u t Return Return
your_command output
Luego , se ejecuta el comando start screen
y do y se envía una devolución a su sesión, lo que produce un archivo llamado , que puede usar en su otro programa que trabaja con la salida.outputworker.sh command
<ctrl-a>:hardcopy output
screen
output
Editar: El segundo Return
evita screen
esperar un tiempo de espera mientras muestra el resultado de la copia impresa.