A getty is the generic name for a program which manages a terminal line and its connected terminal. Its purpose is to protect the system from unauthorized access. Generally, each getty process is started by systemd and manages a single terminal line.
agetty — Agetty is the default getty in Arch Linux. It modifies the TTY settings while waiting for a login so that the newlines are not translated to CR-LFs. This tends to cause a "staircase effect" for messages printed to the console. Agetty manages virtual consoles and six of these virtual consoles are provided by default in Arch Linux. They are usually accessible by pressing
Add additional virtual consoles
Open the file
/etc/systemd/logind.conf and set the option NAutoVTs=6 to the number of virtual terminals that you want at boot.
If you wish to start one temporarily, you can start a getty service at the desired TTY by typing:
$ systemctl start getty@ttyN.service
Automatic login to virtual console
Configuration relies on systemd drop-in files to override the default parameters passed to agetty.
Configuration differs for virtual versus serial consoles. In most cases, you want to set up automatic login on a virtual console, (whose device name is
N is a number). The configuration of automatic login for serial consoles will be slightly different. Device names of the serial consoles look like
N is a number.
Edit the provided unit either manually by creating the following drop-in snippet, or by running
systemctl edit getty@tty1 and pasting its content:
[Service] ExecStart= ExecStart=-/usr/bin/agetty --autologin username --noclear %I $TERM
If you want to use a tty other than tty1, see systemd FAQ.
Create the following file (and leading directories):
[Service] ExecStart= ExecStart=-/usr/bin/agetty --autologin username -s %I 115200,38400,9600 vt102