Exibir conteúdo de todas as telas atualmente desanexadas

2

Eu tenho algumas telas separadas em execução. Agora gostaria de ver o estado atual deles para cada um deles. Currenlty, eu faço

$ screen -r
# look at the cryptic numbers
$ screen -r <paste number one>
# look at output
<Ctrl-A> D
$ screen -r
# look at the cryptic numbers to find the next one
$ screen -r <paste number two>
# look at output
<Ctrl-A> D
$ screen -r
# look at the cryptic numbers to find the next one
# and so on
$ screen -r <paste number three>
# look at output

Existe um único comando que me permite fazer isso?

    
por Joachim Breitner 09.12.2013 / 20:10

2 respostas

1

Acho que o tempo mostra que a resposta a essa pergunta é simplesmente: não, não é possível.

    
por 07.01.2014 / 10:55
2

Você quer o equivalente do comando hardcopy ? Você pode usar a opção -X .

 $ screen -p 9 -X hardcopy
 $ file hardcopy.9
 hardcopy.9: ASCII text

Você passaria por cada janela. Infelizmente, você não pode obter uma lista de janelas sem usar algo como expect , já que a saída é emitida para a exibição de screen , não stdout. Mas para um comando como hardcopy , se não houver janela, nenhum arquivo será gerado.

Se você sabe que você quer isso de antemão, você pode log cada quando a janela é criada ( screen -L longrunningprogram comando interno). Então você pode ver a saída fora da tela. Você também pode ativar isso depois que o programa iniciar dentro de screen ou usando a opção -X acima.

Editar (do comentário de Stephene):

$ screen -X hardcopydir /tmp; screen -X at \# hardcopy
$ ls /tmp/hardcopy.*
hardcopy.0  hardcopy.2  hardcopy.4  hardcopy.6  hardcopy.8
hardcopy.1  hardcopy.3  hardcopy.5  hardcopy.7
    
por 09.12.2013 / 20:28

Tags