Pantalla GNU: imprima una sesión separada en stdout

17

Solo quiero tener una visión general rápida de mis screensesiones de GNU separadas . ¿Es posible volcar el contenido actual en stdout? Algo como

screen --print SESSION_NAME > file.txt
Pierre
fuente

Respuestas:

17

Puede volcar una ventana de una sesión de pantalla con screen -X hardcopy /some/file, eso guardará un volcado de pantalla de la ventana actual /some/file.

Puede volcar una ventana específica con:

screen -X at 3 hardcopy /some/file

Y todos ellos en un solo archivo con:

screen -X eval 'hardcopy_append on' 'at \\# hardcopy /some/file'

También puede volcar un archivo por ventana, especificando en qué directorio volcarlos (si no lo especifica, se volcarán en el directorio en el que screense inició) con

screen -X eval 'hardcopydir /some/dir' 'at \\# hardcopy'

(será volcado en los archivos llamados hardcopy.<n>)

Consulte la -hopción de hardcopyincluir el búfer de desplazamiento.

Use screenla -Sopción de '' como de costumbre '' para especificar la sesión para ejecutar el comando. ⁣ ⁣ ⁣ ⁣

Stéphane Chazelas
fuente
2
Si la sesión de la pantalla nunca se ha adjuntado, seleccionar una ventana con -po ates necesario . Entonces, si screen -X hardcopy /some/fileno funciona, intente screen -X at 0 hardcopy /some/fileo screen -p 0 -X hardcopy /some/file.
Gilles 'SO- deja de ser malvado'
2
¿Hay alguna forma de copia impresa para stdout fuera de la salida a un archivo temporal, capturarlo y luego eliminar el archivo temporal?
Claudiu
1
@Claudiu: Tu pregunta tiene más de 3 años pero la respuesta es relevante de todos modos: no; Me acabo de dar cuenta de straceque la pantalla del "cliente" envía el comando de copia impresa al servidor y el servidor es el que lo procesa. (La página de manual indica que el archivo de copia impresa está escrito en el cwd del servidor, no en el del cliente). Los datos de TTY aparentemente no pasan por el cable en el caso de la copia impresa.
i336_
6

Comience screencon la -Lopción para habilitar el registro de la sesión.

Alternativamente, después de haber iniciado screen, puede activar y desactivar el registro de una ventana en la screensesión con CTRLa- H.

Los registros se crearán en su directorio de trabajo actual con el nombre screenlog.Xdonde X es un número único.

La salida de la lista de ventanas cuando el registro está habilitado tiene una Lcolumna de Banderas.

Num Name           Flags
  0 fedora         $(L)               
  1 sudo           $                                        
  2 fedora         $(L)                                                
George M
fuente