Como o valor padrão da variável de shell TERM é definido?

12

Depois de atualizar para o Maverick, tenho minha variável TERM definida como 'dumb', isso não acontece com o mesmo diretório home executando o Lucid e não alterei manualmente nada relacionado ao TERM.

Alguma idéia de onde a variável TERM deve ser definida?

    
por João Pinto 24.08.2010 / 00:54

3 respostas

12

Para elaborar o que o Gilles diz, suponha que você esteja se conectando remotamente ao seu Ubuntu a partir do Windows usando o Putty.

Nas opções putty config, em Connection- > Data, há uma configuração chamada string do tipo terminal. Você pode definir seu TERM lá e putty instrui o SSH a definir essa variável de ambiente. Em algum momento depois que seu shell for executado, provavelmente / bin / bash e ele obterá seu ambiente de seu processo pai, provavelmente o processo sshd.

O mesmo vale se você fizer o ssh a partir de uma caixa de Linux remota, apenas porque a variável de ambiente TERM local é passada através do ssh para a conexão remota.

No caso de um emulador de terminal, o trabalho do emulador de terminal é definir a variável de ambiente TERM. por exemplo. getty define TERM para "linux" e bifurca um processo de shell (/ bin / bash). ou o gnome-terminal define TERM como "xterm" e bifurca um processo de shell.

    
por Jay _silly_evarlast_ Wren 24.08.2010 / 03:47
8

Para responder literalmente à sua pergunta, o emulador de terminal deve definir $TERM

Para resolver seu problema, seria necessário pelo menos saber qual emulador de terminal você usa. Pode ser um erro ou configuração incorreta no emulador de terminal ou um problema com seus arquivos de inicialização do shell (provavelmente ~/.bashrc , mas possivelmente ~/.bash_profile , /etc/bashrc , /etc/profile , ...).

¹ Supondo que você não esteja usando um terminal de hardware; então seria o argumento para getty , chamado de inittab (versões mais antigas usando SysVinit) ou /etc/init/tty*.conf (Ubuntu ≥9.10, usando Upstart).

    
por Gilles 24.08.2010 / 01:31
1

Se você quiser alterar o terminal, verifique a funcionalidade update-alternatives.

Por exemplo:

update-alternatives --config x-terminal-emulator

Muitas das várias opções padrão do sistema no Ubuntu são definidas através deste método. Outro comum seria um navegador www

update-alternatives --config x-www-browser
    
por Rick 24.08.2010 / 02:53