getty (Português)

From ArchWiki

Status de tradução: Esse artigo é uma tradução de getty. Data da última tradução: 2020-08-16. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

O getty é o nome genérico de um programa que gerencia uma linha de terminal e seu terminal conectado. Seu objetivo é proteger o sistema de acessos não autorizados. Geralmente, cada processo de getty é iniciado por systemd e gerencia uma única linha de terminal.

Instalação

O agetty é o getty padrão no Arch Linux, como parte do pacote util-linux. Ele modifica as configurações de TTY enquanto espera por um login para que as novas linhas não sejam convertidas em CR-LFs. Isso tende a causar um "efeito escada" para mensagens impressas no console. Agetty gerencia consoles virtuais e seis desses consoles virtuais são fornecidos por padrão no Arch Linux. Eles geralmente são acessíveis pressionando Ctrl+Alt+F1 até Ctrl+Alt+F6.

As alternativas incluem:

  • mingetty — Um getty mínimo que permite logins automáticos.
mingettyAUR || mingettyAUR
  • fbgetty — Um console getty como o mingetty, que suporta framebuffers.
http://projects.meuh.org/fbgetty/[link inativo 2022-09-18 ⓘ] || fbgettyAUR[link quebrado: package not found]
  • mgetty — Um programa versátil para lidar com todos os aspectos de um modem no Unix.
http://mgetty.greenie.net/ || mgettyAUR

Adicionar outros consoles virtuais

Abra o arquivo /etc/systemd/logind.conf e defina a opção NAutoVTs=6 para o número de terminais virtuais que você deseja na inicialização.

Se você deseja iniciar um temporariamente, você pode iniciar um serviço getty no TTY desejado digitando:

$ systemctl start getty@ttyN.service

Login automático no console virtual

A configuração depende do editando units fornecidas para substituir os parâmetros padrão passados para agetty.

A configuração difere para consoles virtuais e seriais. Na maioria dos casos, você deseja configurar o login automático em um console virtual, (cujo nome do dispositivo é ttyN, Onde N é o número). A configuração do login automático para consoles seriais será um pouco diferente. Os nomes dos dispositivos dos consoles seriais parecem ttySN, onde N é o número.

Console virtual

Edite manualmente, criando o seguinte snippet drop-in ou executando systemctl edit getty@tty1 e colando seu conteúdo:

/etc/systemd/system/getty@tty1.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin username --noclear %I $TERM
Dica: A opção Type=idle encontrado no padrão getty@.service irá atrasar a inicialização do serviço até que todos os trabalhos (solicitações de mudança de estado para unidades) sejam concluídos, a fim de evitar poluir o prompt de login com mensagens de inicialização. Quando o X, pode ser útil começar getty@tty1.service imediatamente adicionando Type=simple no drop-in-snippet. Tanto o sistema init como o startx pode ser silêncioso para evitar a intercalação de suas mensagens durante a inicialização.

Se você não deseja login totalmente automático, mas também não deseja digitar seu nome de usuário, você pode substituir --autologin username com --skip-login --login-options username.

Se você quiser usar um tty outro que não seja tty1, veja systemd FAQ (EN).

Console serial

Crie o seguinte arquivo (e diretórios principais):

/etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin username -s %I 115200,38400,9600 vt102

Console Nspawn

Para configurar o login automático para systemd-nspawn (EN) container, substituir console-getty.service:

/etc/systemd/system/console-getty.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear --autologin username --keep-baud console 115200,38400,9600 $TERM

Se machinectl login my-container método é usado para acessar o contêiner, também adicionar --autologin username ao container-getty@.service modelo que gerencia pts/[0-9]:

/etc/systemd/system/container-getty@.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear --autologin username --keep-baud pts/%I 115200,38400,9600 $TERM

Solicita apenas a senha de um usuário padrão no login do console virtual

Getty pode ser usado para fazer o login a partir de um console virtual com um usuário padrão, digitando a senha, mas sem a necessidade de inserir o nome de usuário. Por exemplo, para solicitar a senha para username em tty1:

/etc/systemd/system/getty@tty1.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty -n -o username %I

e depois

# systemctl enable getty@tty1

Mantenha as mensagens de inicialização em tty1

Por padrão, Arch tem o getty@tty1 serviço habilitado. O arquivo de serviço já passa --noclear, que impede o agetty de limpar a tela. Contudo o systemd limpa a tela antes de iniciá-lo. Para desativar esse comportamento, crie /etc/systemd/system/getty@tty1.service.d/noclear.conf:

/etc/systemd/system/getty@tty1.service.d/noclear.conf
[Service]
TTYVTDisallocate=no

Isso substitui apenas TTYVTDisallocate para agetty em TTY1, e deixa o arquivo de serviço global /usr/lib/systemd/system/getty@.service intocado. Veja Editando units fornecidas.

Nota:

Veja também