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:
- cap_mkdb - criar banco de dados de recursos (ferramenta usada para compilar o terminal banco de dados)
- Tela GNU: Estranho TERMCAP ao usar -d -m (menciona as mudanças no FreeBSD)