getty (Español)
Un getty es el nombre genérico de un programa que gestiona una línea de terminal y su terminal conectada. Su propósito es proteger el sistema del acceso no autorizado. En general, cada proceso getty se inicia mediante systemd y gestiona una sola línea de terminal.
Instalación
agetty es el getty predeterminado en Arch Linux, como parte del paquete util-linux. Modifica la configuración de TTY mientras espera un inicio de sesión para que las nuevas líneas no se traduzcan a CR-LF. Esto tiende a causar un "efecto escalera" para los mensajes impresos en la consola. Agetty gestiona las consolas virtuales y seis de estas consolas virtuales se proporcionan de forma predeterminada en Arch Linux. Normalmente se puede acceder a ellas presionando desde Control+Alt+F1
hasta Control+Alt+F6
.
Las alternativas incluyen:
- mingetty — Un getty mínimo que permite inicios de sesión automáticos.
- fbgetty — Una consola getty como mingetty, que soporta framebuffers.
- http://projects.meuh.org/fbgetty/[enlace roto 2022-09-18] || fbgettyAUR[enlace roto: package not found]
- mgetty — Un programa versátil para manejar todos los aspectos de un módem bajo Unix.
Añadir consolas virtuales adicionales
Abra el archivo /etc/systemd/logind.conf
y configure la opción NAutoVTs=6 a la cantidad de consolas virtuales que desee al inicio.
Si desea iniciar una temporalmente, puede iniciar un servicio getty en el TTY deseado escribiendo:
$ systemctl start getty@ttyN.service
Inicio de sesión automático a la consola virtual
La configuración se basa en archivos de entrada de systemd para anular los parámetros predeterminados pasados a agetty.
La configuración es diferente para las consolas virtuales y las serie. En la mayoría de los casos, quiere configurar el inicio de sesión automático en una consola virtual, cuyo nombre de dispositivo es ttyN
, donde N
es un número. La configuración de inicio de sesión automático para consolas serie será ligeramente diferente. Los nombres de los dispositivos de las consolas serie aparecen como ttySN
, donde N
es un número.
Consola virtual
Edite la unidad provista ya sea manualmente creando el siguiente fragmento de código, o ejecutando systemctl edit getty@tty1
y pegando su contenido:
/etc/systemd/system/getty@tty1.service.d/override.conf
[Service] ExecStart= ExecStart=-/usr/bin/agetty --autologin usuario --noclear %I $TERM
Type=idle
que se encuentra en el getty@.service
predeterminado retrasará el inicio del servicio hasta que todos los trabajos (solicitudes de cambio de estado a las unidades) se completen en orden para evitar contaminar el mensaje de inicio de sesión con mensajes de arranque. Cuando inicie X automáticamente, puede ser útil iniciar getty@tty1.service
inmediatamente añadiendo Type=simple
en la fragmento de entrada. Tanto el sistema init como startx pueden ser silenciados para evitar el intercalado de sus mensajes durante el arranque.Si no desea un inicio de sesión automático completo, pero tampoco desea escribir su nombre de usuario, puede reemplazar --autologin usuario
por --skip-login --login-options usuario
.
Si desea utilizar un tty distinto a tty1, véase el FAQ de systemd.
Consola serie
Cree el siguiente archivo (y directorios principales):
/etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf
[Service] ExecStart= ExecStart=-/usr/bin/agetty --autologin usuario -s %I 115200,38400,9600 vt102
Consola Nspawn
Para configurar el inicio de sesión automático para un contenedor systemd-nspawn, anule console-getty.service
:
/etc/systemd/system/console-getty.service.d/override.conf
[Service] ExecStart= ExecStart=-/sbin/agetty --noclear --autologin usuario --keep-baud console 115200,38400,9600 $TERM
Si se utiliza el método machinectl login mi-contenedor
para acceder al contenedor, también añada --autologin usuario
a la plantilla container-getty@.service
que gestiona los pseudo ttys pts/[0-9
:
/etc/systemd/system/container-getty@.service.d/override.conf
[Service] ExecStart= ExecStart=-/sbin/agetty --noclear --autologin usuario --keep-baud pts/%I 115200,38400,9600 $TERM
Solicitar solo la contraseña para un usuario predeterminado en el inicio de sesión de la consola virtual
Getty se puede utilizar para iniciar sesión desde una consola virtual con un usuario predeterminado, escribiendo la contraseña pero sin necesidad de introducir el nombre de usuario. Por ejemplo, para solicitar la contraseña de usuario
en tty1
:
/etc/systemd/system/getty@tty1.service.d/override.conf
[Service] ExecStart= ExecStart=-/sbin/agetty -n -o usuario %I
y después:
# systemctl enable getty@tty1
Mantener los mensajes de arranque en tty1
De manera predeterminada, Arch tiene habilitado el servicio getty@tty1
. El archivo de servicio ya pasa --noclear
, lo que evita que Agetty borre la pantalla. Sin embargo systemd borra la pantalla antes de iniciarla. Para deshabilitar este comportamiento, cree /etc/systemd/system/getty@tty1.service.d/noclear.conf
:
/etc/systemd/system/getty@tty1.service.d/noclear.conf
[Service] TTYVTDisallocate=no
Esto reemplaza solo TTYVTDisallocate
para agetty en TTY1, y deja el archivo de servicio global /usr/lib/systemd/system/getty@.service
sin tocar. Véase Systemd (Español)#Modificar los archivos de unidad suministrados.
- Asegúrese de eliminar
quiet
de los parámetros del kernel. - El inicio tardío de KMS puede hacer que se borren los primeros mensajes de arranque. Véase Kernel mode setting#Early KMS start o Kernel mode setting#Disabling modesetting.