Onde é armazenada a saída de um Terminal (Terminal Gnome)?

5

Em primeiro lugar, não se trata de history , que armazena todos os comandos inseridos.

Eu tenho em minha estação de trabalho no trabalho vários terminais abertos dos quais eu inicio simulações, examino a saída e onde ocasionalmente as mensagens de erro são exibidas.

Em Gnome Terminal há uma configuração controlando o comprimento da rolagem de volta, no meu caso, a configuração está definida para ser pouco mais de 10.000 linhas.

Agora, minha pergunta: Como posso pesquisar o pergaminho de volta?

No meu caso, quero verificar se uma mensagem de erro recente ocorreu anteriormente. Sim, posso rolar para trás e usar meus olhos para procurar a mensagem de erro em questão. Mas para vários terminais com potencialmente até 10.000 linhas, isso significa um tempo gasto em rolagem.

Eu assumo que a informação no scroll-back precisa ser armazenada em algum lugar, e se ela estiver armazenada em algum lugar, ela pode ser pesquisável.

[Edit: corrigiu a pergunta sobre o Gnome Terminal.]

    
por Dohn Joe 03.09.2014 / 12:22

2 respostas

3

Se a saída produzida pelos seus scripts for muito importante para você (para procurar erros, avisos, ações que foram executadas e assim por diante), você não deve confiar na exibição do console que está usando. / p>

Você tem que redirecionar a saída de seus scripts para alguns arquivos, isso tem vantagens:

  • você não está mais limitado ao número de linhas no buffer de rolagem do console que está usando
  • você pode arquivar o resultado pelo tempo que desejar para recuperar o que foi feito, mesmo alguns dias / semanas / meses depois de executar o script com eficiência
  • você pode ter os erros registrados em um arquivo dedicado, diferente das mensagens informativas, facilitando a localização de erros. (se os comandos usados em seus scripts enviarem erro para STDERR e informações para STDOUT).
  • você pode até mesmo fazer login em um arquivo enquanto ainda exibe a saída no terminal, se você usar o comando tee .

Então, você pode fazer isso:

./script.sh | tee -a output

para copiar toda a saída de script.sh para um arquivo chamado output , anexando o texto ao final do arquivo e exibindo o texto no terminal também.

    
por Benoit 03.09.2014 / 13:59
1

O buffer de rolagem é uma função do seu terminal ou console.

Se você estiver usando o console framebuffer, é possível usar o parâmetro fbcon=scrollback: no momento da inicialização para aumentar o tamanho da rolagem.

Para o xfce4-terminal , vá para "Editar- > Configurações- > Geral- > Rolagem" e altere o buffer de rolagem para seus gostos.

para o konsole do kde, vá para "Configurações- > Configurar o perfil atual ...- > Rolagem- > Número fixo de linhas"

o xterm clássico pode ser configurado com um 777 de sinalizador de inicialização (para 777 linhas de buffer de rolagem para trás) ou através da configuração saveLines.

Para a tela GNU , inicie com a tela -h.

Eu ia com a tela, na qual você pode pesquisar o buffer de rolagem:

/ Vi-like search forward
? Vi-like search backward
C-a s Emacs style incremental search forward
C-r Emacs style reverse i-search

No modo de rolagem (ou modo de cópia, é o mesmo), você também pode copiar e colar texto.

    
por Jan 03.09.2014 / 12:38