Isso é possível tanto na tela GNU quanto no tmux e a solução alternativa é semelhante: enganar os multiplexadores fazendo-os pensar que o terminal não tem um modo de "tela alternativa" (como o usado por pico, mutt etc.). Isso é feito definindo-se comandos termcap para a sessão.
Para a tela GNU, coloque isso no seu .screenrc
:
termcapinfo xterm*|xs|rxvt|terminal ti@:te@
e para o tmux, adicione isso ao seu .tmux.conf
:
set -ga terminal-overrides ',xterm*:smcup@:rmcup@'
A parte ' xterm*
' do comando deve ser definida para qualquer que seja o seu emulador de terminal. Alguma forma de xterm é um bom palpite, mas você pode verificar o seu na maioria dos sistemas sane * nix com:
echo $TERM
e isso geralmente pode ser definido nas preferências do seu programa terminal (por exemplo: Para Terminal.app
da Apple, está em Configurações- > Perfil > Avançado (ou Configurações- > Avançado- > Emulação pré-yosemite ) "Declarar terminal como".
O resultado final é que o estouro acaba no buffer de rolagem do terminal, em vez de desaparecer. Naturalmente, como esse é um buffer estático, as coisas ficarão confusas quando você alternar entre as janelas screen ou tmux, mas isso é útil para ver rapidamente a saída de um comando ls
ou algo parecido.