tela GNU: imprima uma sessão separada para stdout

15

Eu só quero ter uma visão geral rápida das minhas sessões de GNU screen desanexadas. É possível despejar o conteúdo atual para stdout? Algo como

screen --print SESSION_NAME > file.txt
    
por Pierre 05.02.2013 / 17:05

2 respostas

15

Você pode despejar uma janela de uma sessão de tela com screen -X hardcopy /some/file , que salvará um dump de tela da janela atual em /some/file .

Você pode fazer o dump de uma janela específica com:

screen -X at 3 hardcopy /some/file

E todos eles em um único arquivo com:

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

Você também pode despejar um arquivo por janela, especificando em qual diretório eles serão despejados (se você não especificá-lo, eles serão despejados no diretório screen foi iniciado) com

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

(será despejado em arquivos chamados hardcopy.<n> )

Veja a opção -h de hardcopy para incluir o buffer de rolagem.

Use a opção screen -S como de costume para especificar a sessão para executar o comando. ⁣         ⁣         ⁣         ⁣

    
por 05.02.2013 / 17:25
5

Inicie o screen com a opção -L para ativar o registro da sessão.

Alternativamente, depois de ter aberto o screen , você pode ativar e desativar o registro de uma janela na sessão screen com CTRL a - H .

Os logs serão criados em seu diretório de trabalho atual com o nome screenlog.X , onde X é um número exclusivo.

A saída da lista de janelas quando o registro está ativado tem um L na coluna Sinalizadores.

Num Name           Flags
  0 fedora         $(L)               
  1 sudo           $                                        
  2 fedora         $(L)                                                
    
por 05.02.2013 / 17:14