Pré-requisitos
O terminal virtual Linux (tty) é uma emulação de VT102 - Origem do subsistema de terminal virtual.
O VT100 real (quase o mesmo que VT102 ) tem o seguinte comportamento (suponho):
- No modo LINE , todos os caracteres digitados são transmitidos primeiro ao computador e, em seguida, retornados ao terminal. Nada é exibido na tela do terminal antes de retornar do host.
- As sequências de escape não são exceção - elas são analisadas e executadas somente após retornar do host. Ou seja, se eu quiser mudar a cor da fonte para vermelho, devo digitar
ESC[0;31m
, essa sequência vai para o computador, ecoa de volta, o VT102 recebe isso, analisa e aplica. Não há outra maneira de alterar a cor da fonte do terminal (no modo LINE ). Não tenho certeza se o VT102 tinha cores de fonte diferentes, mas isso é um exemplo.
Imagem do manual:
Extraído do manual:
LINHA/LOCAL
O recurso LINE/LOCAL permite que o operador coloque facilmente o terminal em uma condição ON-LINE ou LOCAL (off-line). Quando o terminal está on-line (o indicador ON-LINE está aceso) todos os caracteres digitados no teclado são enviados diretamente para o computador e as mensagens do computador são exibidas na tela. Na condição LOCAL (o indicador LOCAL está aceso), o terminal está desconectado eletricamente do computador; as mensagens não são enviadas ou recebidas do computador; e os caracteres digitados no teclado são reproduzidos diretamente na tela.
Fonte: Manual técnico do terminal de vídeo da série VT100, terceira edição, julho de 1982.
A questão
Por que o Linux tty
se comporta de maneira diferente?
Eu coloco bash
no modo de suspensão, para que não interfira, digite Esc[0;31m
e obtenha apenas texto simples, a cor não mudou - então, a sequência de escape não tem efeito.
Eu fiz a pergunta semelhante há alguns anos - Por que não posso enviar sequências de escape do teclado, mas posso fazê-lo de outro tty? , mas agora eu tenho o conhecimento sobre o subsistema Linux VT102 e quero entender por que ele funciona dessa maneira - não de forma idêntica ao terminal de hardware real nesse aspecto.