getty (Português) - ArchWiki

Jump to content
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.

Artigos relacionados

- Gerenciador de exibição

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

- 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:

- Certifique-se de remover o `quiet` do kernel parameters.
- O início tardio do KMS pode fazer com que as primeiras mensagens de inicialização sejam apagadas. Veja KMS#Early KMS start or KMS#Disabling modesetting.

## Veja também

- Alterar target padrão para inicializar
- O TTY desmistificado (EN)
- Wikipedia:Tty (unix)

Categories:

- Boot process (Português)
- Linux console (Português)

Hidden category:

- Pages with dead links