FreeBSD tcsh e tamanho da janela do terminal

2

Quando estou trabalhando no ssh do meu servidor FreeBSD, sempre assume que a largura do terminal é de 80 colunas. Por exemplo. As páginas man aparecem em uma coluna fina e todos os programas que usam variáveis de ambiente COLUMNS e LINES para adivinhar o tamanho do terminal funcionam apenas em 80 colunas padrão.

Existe alguma maneira de fazer o tcsh definir corretamente este ambiente vars e enviá-los para programas-filhos?

    
por Yorik.sar 06.10.2010 / 14:16

4 respostas

2

sh: não configurado COLUMNS LINES; Exportar TERM = xterm

csh: unsetenv COLUMNS LINES; setenv TERM xterm

Terminais que possuem tamanho dinâmico ou fonte ou resolução são a norma, não a exceção.

Quando isso se tornou o caso, o Unix colocou essa informação nos atributos do kernel tty, e preterido $ COLUMNS, $ LINES e os dados da dimensão termcap / terminfo.

Você pode ver o kernel escurecendo executando "stty -a". Ssh, rlogin e telnet moderno passam essas dimensões para o lado remoto.

Geralmente, desarmar provoca melhor comportamento. Às vezes, um shell irá redefinir o env vars (com base em informações "stty").

    
por 08.06.2012 / 23:39
0

Não tenho certeza sobre tcsh, mas para bash, sh e ksh:

eval 'resize'

Deve fazer o truque.

    
por 06.10.2010 / 14:22
0

O script de redimensionamento vem com o xterm que você pode instalar a partir de portas (embora você tenha libX11 etc. com ele).

    
por 05.11.2010 / 17:19
0

tcsh herda o ambiente do shell pai. Para adicionar mais envvars, você pode:

source envvar

onde o envvar contém, por exemplo:

set history = 5000
# Set save history
set savehist = 5000
# Set a prompt
set prompt = 'whoami'%' '
# Add to the default exported $PATH from the parent shell.
set path = 'echo $path ~/bin'
# Create a new environment variable
set newShellVar = whatEver

Depois de inserir o shell, por exemplo tipo tcsh <return> você pode ativar o arquivo usando:

source envvar

É claro que se você nomear seu arquivo envvar como ~/.tcshrc , o arquivo terá origem automática quando você executar o comando tcsh.

    
por 25.03.2013 / 14:00