Despejando um buffer de rolagem do console Linux?

5

Gostaríamos de salvar a saída de um programa executado em um console Linux que abrange muitas linhas. Infelizmente, não foi registrado ou executado na tela, ou de qualquer outra forma que nos permita capturar facilmente a saída. O melhor método que conseguimos desenvolver até agora é:

Log into the machine via a separate SSH session
In the console session, page to the top of the buffer
Repeat:
  In the SSH session, run "cat /dev/vcs >> screendump.txt"
  In the console session, page down one screen
Dump the final screen in the SSH session

Existe uma maneira melhor? Parece que se a memória do VC era contígua e você sabia onde estava, você poderia usar dd para extrair o texto do console diretamente da memória do kernel para um arquivo.

    
por Gerald Combs 11.03.2010 / 18:10

2 respostas

2

setterm pode descarregar o conteúdo de um console virtual do Linux:

setterm -file log.txt -dump [ttynumbers]

No entanto, ele não tem acesso ao buffer de rolagem, apenas para o que está sendo exibido atualmente.

    
por 11.03.2010 / 19:08
0

A menos que VGACON_SOFT_SCROLLBACK esteja definido como "Y", o buffer de rolagem estará na memória VGA, e não na memória do sistema.

    
por 14.03.2010 / 04:23

Tags