Como ocultar a saída do programa CLI em tela cheia no xterm no FreeBSD?

4

Quando eu uso um programa CLI de tela cheia no Ubuntu (como less ou vim) no xterm e depois o fecho, a saída de tela cheia desse programa não é mais visível. No entanto, quando eu faço o mesmo no FreeBSD, a saída em tela cheia fica lá, acima da linha do próximo comando. Existe uma maneira de ativar o comportamento anterior no FreeBSD, por exemplo, com uma opção Bash?

    
por Zedfrigg 06.12.2016 / 00:45

2 respostas

8

A definição termcap do FreeBSD para "xterm" omite a seqüência de escape da tela alternativa. Isso já foi discutido aqui antes. Você poderia fazer alguma solução alternativa, como (desde que eles deixaram a entrada rxvt sozinha):

#!/bin/sh
TERM=rxvt tput ti
less "$@"
TERM=rxvt tput te

que irá "funcionar" já que rxvt usa a sequência de escape xterm para este caso. Simplesmente definir TERM=rxvt em seu ambiente não produzirá bons resultados, mas essa parte é útil.

Como alternativa, você pode modificar o /etc/termcap e recompilar o banco de dados do terminal. Para referência, aqui está um link para a alteração que removeu a tela alternativa:

revisão 200503 por dougb, seg Dez 14 07:18:31 2009 UTC

Os comentários de alteração

Add some example xterm*-clear entries to the termcap files to make it easier for people to enable that behavior.

mas a desvantagem disso é que (novamente) você não seria capaz de usar isso no seu shell se você quisesse passá-lo para máquinas remotas (exceto o FreeBSD, é claro). Nenhuma dessas entradas "xterm * -clear" estará no Ubuntu.

Leitura adicional:

por 06.12.2016 / 00:51
0

Para que less deixe a última página, export LESS=X . Veja a página do manual . Eu também gosto de e e F .

    
por 06.12.2016 / 01:23