Por que $ TERM var igual linux com terminais virtuais

0

Existe um terminal linux? Eu estava experimentando com a máquina para ver como funcionam os terminais virtuais e quando eu ecoava $ TERM ele imprimia linux? Este é o terminal padrão do Linux? Eu tentei procurar man pages no linux, mas apenas resultados sobre o retorno do sistema operacional.

    
por rubixibuc 27.12.2011 / 06:37

3 respostas

3

O tipo de terminal linux é para os consoles virtuais (também chamados de terminais virtuais ou consoles), o texto consoles de modo fornecidos pelo Linux em hardware estilo PC e alcançados por Alt + F1 ou Ctrl + Alt + < kbd> F1 e assim por diante. Como todos os tipos de terminais modernos, é uma variante do VT100 e dos sucessores.

    
por 28.12.2011 / 00:39
5

Sim, existe uma descrição do terminal identificada pelo nome linux .

O programa infocmp mostrará os detalhes de um dado identificador de terminal. Nos sistemas baseados em Debian, infocmp está no pacote ncurses-bin .

$ infocmp linux
#       Reconstructed via infocmp from file: /lib/terminfo/l/linux
...

Eu elidei os códigos de escape para os recursos. A página man do terminfo(5) descreve todos os recursos e o que eles significam.

    
por 27.12.2011 / 07:02
0

A variável de ambiente TERM identifica uma descrição do terminal. O nome linux foi usado desde a sua introdução em ncurses em 1994 como o preferido nome para o console do Linux (em vez de console ).

O banco de dados do terminal ncurses define mais de uma dúzia de variantes, que algumas pessoas usam. No banco de dados do terminal, linux é um alias para a versão que a maioria das pessoas deve usar. A maioria das pessoas usa o alias, pelas razões usuais relacionadas às descrições dos terminais:

  • enquanto alterar o alias é trivial (usando infocmp e tic), a maioria das pessoas não modifica seu banco de dados de terminal para apontar o alias para uma versão diferente,
  • o nome é usado no getty definitions (ou equivalente) e, novamente, a maioria das pessoas não altera esse e, claro,
  • alguns programas (como o GNU ls) têm suas próprias idéias sobre como gerenciar o linux name (e não se incomodam em usar o banco de dados do terminal).

Expandindo o último item, a versão inicial do GNU ls em junho de 1996 usou esses nomes para valores de TERM que suportavam cor:

TERM linux
TERM console
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM xterm
TERM vt100

usando várias variantes "console" que nunca foram fornecidas por ncurses, mas aparentemente tinham algum uso. Isso provavelmente motivou o comentário em ncurses ' INSTALL (visto pela primeira vez em setembro de 1995 ) :

In various systems there has been a practice of designating the system
console driver type as 'console'.  Please do not do this!  It
complicates peoples' lives, because it can mean that several different
terminfo entries from different operating systems all logically want to
be called 'console'.

Independentemente do uso, nenhum deles foi descartado e (para o console do Linux), apenas linux-c foi adicionado (em 1999 , em vez de 1996 em ncurses). O arquivo atual possui, por exemplo

TERM con[0-9]*x[0-9]*
TERM linux
TERM linux-c

Leitura adicional:

por 30.10.2016 / 02:36