existe uma maneira de salvar o que está impresso no display com a tela gnu?

7

Eu gosto de salvar tudo o que faço na linha de comando, por exemplo, quando eu atualizo algo e quero ler de volta como a atualização foi, etc.

Normalmente, com o Mac OSX e o Terminal, você pode rolar para trás o quanto quiser e salvar com o Cmd-S. Mas quando estou no SSH usando a tela do gnu, não consigo rolar para trás diretamente do terminal.

Como posso salvar no disco tudo o que acontece em uma sessão de tela? Talvez por padrão (cada sessão cria automaticamente um arquivo para o disco ...)

obrigado!

    
por luca 26.01.2011 / 10:54

4 respostas

6

Há um recurso de registro em screen . Inicie quando você iniciar screen fazendo screen -L (ou de screen ). Ou, também de dentro de screen , você pode pressionar Ctrl - a : H .

Se você quiser fazer logon como padrão, adicione a seguinte linha ao seu arquivo ~/.screenrc :

deflog on

Você pode querer definir o nome do arquivo usando algo como:

logfile /tmp/screenlog.%n
    
por 26.01.2011 / 11:37
2

É possível aumentar a rolagem e visualizá-la no modo de cópia link

    
por 26.01.2011 / 11:07
2

Opção 1: Olhe para o comando de script. "man script"

"Script faz um texto datilografado de tudo que está impresso no seu terminal. É  útil para estudantes que precisam de um registro impresso de uma sessão interativa como  prova de uma atribuição, como o arquivo typescript pode ser impresso mais tarde  com lpr "

Basicamente digite "script" (sem aspas) - faça seu trabalho e digite exit uma vez para encerrar a sessão.

Opção 2: use o modo "cópia impressa" da tela. 'Crtl-a' then 'h' Isso salvará a sessão atual em um arquivo.

nota: o GNU Screen tem a capacidade de rolar. Use 'crtl-]' (colchete direito) para entrar no modo de cópia, depois 'ctrl-b' e 'ctrl-f' para mover p e para baixo uma página de cada vez.

    
por 26.01.2011 / 10:59
1

Você desejará usar a operação 'log', geralmente vinculada a Ctrl-a H . Isso abre um novo arquivo chamado screenlog. N onde N é o número da janela. Se o arquivo existir, a saída será anexada ao arquivo. Todas as saídas nessa janela são registradas no arquivo de registro N até que você desative pressionando Ctrl-a H novamente. Você também pode obter essa funcionalidade com Ctrl-a :log . Você pode alterar o nome usando o comando logfile {filename} . O arquivo é colocado no diretório em que a tela foi iniciada pela primeira vez, mas isso pode ser alterado com o comando logfile ou com chdir [{directory}] .

Observe que isso não é o mesmo que a cópia impressa ou o buffer de rolagem. Esta é a mesma funcionalidade do programa script (1), mas ligada a uma única janela e sem chamar um novo programa.

Se você quiser salvar todo o conteúdo do buffer de rolagem, use Ctrl-a ] g <space> G <space> Ctrl-a :writebuf Isso salva o buffer de rolagem no arquivo / tmp / screen-exchange. Se você quiser salvar apenas uma parte, mude o 'g' e 'G' para outras teclas de movimento.

    
por 26.01.2011 / 15:14