getty (Português)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Reason: Description of TTY settings and "staircase effect" is out of context here. The default number of TTYs can be moved to #Add additional virtual consoles as it does not depend on agetty. (Discuss in Talk:Getty (Português))

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/ || fbgettyAUR
  • 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