Ironicamente 1 , este foi breve o comportamento de top
. Em 3.3.8, top
limpou a tela, mas não nas versões anteriores ou posteriores. Veja Red Hat bug # 977561 :
A limpeza de tela é um resultado indireto de alterações no terminal
manipulações que foram introduzidas por Jim Warner (autor do 'top'
ferramenta) para suprimir a inundação da ferramenta 'top' com a SIGWINCH
sinais gerados por algumas das aplicações de terminal amplamente utilizadas. isto
fui eu quem relatou a questão das inundações e ele tentou fazer o seu melhor em
para resolvê-lo e liberou uma correção para o problema em forma de 8
commits separados. O commit introduzindo a limpeza de tela tem o
seguinte hash: 'dedaf6e1a81738ff08ee8e8523871e12f555ad6d'.
Devido ao relatório de erros, Jim então corrigiu novamente para não limpar a saída em 3.3. 9 .
top
não tem opções ou definições de configuração para controlar isso, AFAICT, isso é um comportamento totalmente codificado. Talvez você queira enviar uma solicitação de recurso no link .
Até então, você poderia clear
manualmente gostar Rinzwind sugeriu , ou use tput
como sugere a steeldriver.
Curiosamente, o commit mencionado acima também tem uma boa explicação do comando steeldriver sugerido, porque é na verdade o mesmo que foi feito originalmente no código:
Um buffer de rolagem usado em vários emuladores de terminal pode ser um verdadeiro
inconveniente para um usuário após algumas operações de redimensionamento. Extra
keystroke (s) seria freqüentemente necessário para renderizar corretamente
exibição do topo.
Depois de muita investigação descobrimos duas seqüências terminográficas que têm o
efeito de desativar / restaurar esse buffer de rolagem danado. Eles eram
bem escondido sob um título de strings 'para iniciar / terminar programas usando
copo'. Por sua vez, 'cup' lida com a capacidade de endereçamento do cursor do tty.
Nós não ligamos para o que você os chama ou ao que eles se referem, desde que eles
faça o trabalho. E estes realmente fazem! Esteja ciente, no entanto, de que
alguns efeitos colaterais, vários dos quais podem até ser considerados como
benéfico:
-
enter_ca_mode / smcup / ti desativa o buffer de rolagem (e isso é
bom, é o que sempre esperamos)
-
exit_ca_mode / rmcup / te restaura o buffer de rolagem (mas também
restaura o conteúdo da tela existente pré-topo) (que é diferente de
anteriores resultados finais do programa) (onde essa última tela renderizada
deixada intocada)
... que corresponde aos comandos tput smcup
e tput rmcup
.
1 Xkcd obrigatório