Acesse TTYs mais altos e o papel do getty

1

Eu tenho algumas áreas escuras ao tentar entender os TTYs.

  • No meu sistema, tenho /dev/tty[1-63] . udev está criando esses dispositivos de caractere? E como posso acessá-los (como o tty2 pode ser acessado com Ctrl + Alt + F2)? Como posso acessar /dev/tty40 , por exemplo?

  • Pelo que entendi, quando acesso /dev/tty1 , agetty é chamado, que chama login . Qual é realmente o papel de agetty fora de chamar login ?

por Gradient 30.12.2016 / 22:39

1 resposta

1

Estes são consoles virtuais , conhecidos no Linux como terminais virtuais (VT). Existe um único console de hardware (uma única tela e um único teclado), mas o Linux finge que existem múltiplos (até 63). Em um determinado ponto no tempo, um único VT é ativo ; a entrada do teclado é roteada para esse console e a tela mostra o que esse console exibe.

Você pode usar o comando chvt para alternar entre VT (você precisa para ter acesso direto ao console virtual atual, que você não terá se estiver conectado remotamente ou em execução no X). Você também pode usar atalhos de teclado configurados com o mapa de teclas carregado por loadkeys ou pelo servidor X. Por padrão, fora X, Alt + F n alterna para o número de console n e Alt + Deslocamento + F n alterna para o número do console n +12; Alt + Esquerda e Alt + Direita muda para o console anterior / seguinte.

Um console precisa ser alocado para alternar para ele. Você pode usar openvt para alocar um console (isso requer raiz) e deallocvt para desalocar um.

O programa não está diretamente relacionado aos consoles virtuais, em particular não tem nada a ver com o VT alocação. O papel do getty é preparar o console (configurar parâmetros de porta serial, possivelmente deixar a tela em branco, exibir uma mensagem de boas-vindas, etc.) e chamar login , depois esperar que a sessão de login termine e repita. Em suma, o papel do getty é chamar login em um loop.

Você não precisa executar o getty para usar um console. Por exemplo, você pode iniciar qualquer programa em um console com openvt . Você pode iniciar um servidor X em um novo console com startx .

    
por 01.01.2017 / 02:21

Tags