Eu tenho acesso ssh a uma máquina remota. Nesta máquina, se eu correr echo $TERM
, entendo xterm
.
Se eu quiser mudar meu emulador de terminal para outro emulador (supondo que ele esteja instalado na máquina remota), como eu faria isso?
Eu tenho acesso ssh a uma máquina remota. Nesta máquina, se eu correr echo $TERM
, entendo xterm
.
Se eu quiser mudar meu emulador de terminal para outro emulador (supondo que ele esteja instalado na máquina remota), como eu faria isso?
Respostas:
O valor da variável de ambiente TERM é usado pelo servidor (nos sistemas operacionais derivados do sistema V ou BSD) para controlar como a entrada é reconhecida pelo sistema e quais recursos existem para saída. Alguns tipos de terminal são semelhantes o suficiente para que possam ser trocados enquanto ainda permanecem úteis, enquanto outros podem tornar o sistema inutilizável até que você abra uma nova conexão com um valor suportado para TERM. Por exemplo, de um sistema Linux para outro, você provavelmente experimentaria muito pouca diferença entre as configurações de vt100, vt220 e xterm. A maioria das diferenças estaria em como a saída é exibida e se cores ou fontes em negrito estão disponíveis para esse tipo de terminal. O banco de dados termcap lista todos os tipos de terminais, com seus vários recursos.
Contanto que você não mude para um tipo de terminal com o qual o teclado e a tela não sejam compatíveis, você ficará bem.
leia a página de manual para termo, e termcap, em seu sistema para obter mais informações.
Para alterar o tipo de terminal:
no bash:
export TERM=vt100
em bourne shell ou ksh:
TERM=vt100
export TERM
em csh ou tcsh:
setenv TERM vt100
vt100
é um terminal bastante seguro para começar a jogar. é compatível com o xterm, mas não exibe cores ou fontes em negrito e pode não reconhecer as teclas F *, mas é improvável que você estrague tudo usando o vt100.
Muitas pessoas usam a detecção de terminal em scripts init pessoais para otimizar a experiência do usuário, dependendo de como estão se conectando ao servidor. Por exemplo, defina um PS1 simples, se você estiver usando o vt100, use variáveis dinâmicas e de cores ao usar o bash em um xterm.
Boa sorte com sua pesquisa.
Você está entendendo mal.
Seu console ou terminal ou instância PuTTY no lado LOCAL é o "emulador de terminal" real, embora hoje em dia apenas reduzimos para "terminais". O uso é originário de quando as pessoas realmente usavam terminais de monitor e teclado para conectar-se a um servidor de mainframe em vez de usar vários consoles e ambientes gráficos de usuário.
A variável $ TERM simplesmente diz ao sistema remoto que tipo de códigos de controle o seu terminal entenderá quando os enviar (por exemplo, para gerar menus baseados em texto ou qualquer coisa baseada em libncurses).
Não tenho certeza do que exatamente você deseja realizar, mas alterar $ TERM provavelmente não ajudará.
Ubuntu 11.10
na minha máquina local e Red Hat Enterprise Linux Server release 5.4 (Tikanga)
na máquina remota)
$TERM
variável. Além disso, não estou fazendo essa pergunta com o único objetivo de encontrar uma solução para um problema / pergunta diferente. Na verdade, minha outra pergunta motivou essa pergunta. Finalmente, não acho que exista algo errado na esperança de aprender mais sobre como os emuladores de terminal funcionam, fazendo esta pergunta.
TERM
variável; é necessário principalmente quando você faz logon em um sistema mais antigo que não sabe o nome de um terminal mais novo (e não houve muitos tipos de terminal novos nos últimos 15 anos ou mais, a maioria dos emuladores de terminal se denominam comoxterm
).TERM
é com o que os programas do tipo terminal acreditam que estão falando, não muda o que o terminal realmente é.