Automatic login to virtual console
Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end
This article describes how to automatically log in to a virtual console at the end of the boot process. This article only covers console log-ins; methods for starting an X server are described in Start X at Login.
Use drop-in feature of systemd for getty autologin
Since systemd 198 unit files may now be extended via drop-in files without having to edit/override the unit files themselves, to learn more about this feature, consult systemd.unit(5) and search for Along with a unit file foo.service a directory foo.service.d/ may exist.
There are two types of consoles: virtual and serial ones. In most cases you would want to setup up autologin on virtual console, the one which device name is ttyN, where N is a number. The configuration of the autologin for the serial consoles will be slightly different. Device names of the serial consoles look like ttySN, where N is a number.
For the virtual console proceed with the following steps, the case with serial console is dealt with at the bottom of this page.
Create a new directory named
# mkdir /firstname.lastname@example.org
Then create a new file named
autologin.conf and add it into the directory:
[Service] ExecStart= ExecStart=-/usr/bin/agetty --autologin <username> --noclear %I 38400 linux
Type=idlewill delay the execution of agetty until all jobs (state change requests to units) are completed. On the other hand it may cause systemd boot-up messages to pollute the login prompt. This option is more useful when starting X automatically. See
man systemd.servicefor more info.
Type=idle. If you want to use
Type=simple, then your
autologin.conf should look like this:
[Service] ExecStart= ExecStart=-/usr/bin/agetty --autologin <username> --noclear %I 38400 linux Type=simple
In the case of a serial console you need to create different directory
# mkdir /etc/systemd/system/serial-getty@ttyS0.service.d
autologin.conf will also look slightly different
[Service] ExecStart= ExecStart=-/sbin/agetty --autologin <username> -s %I 115200,38400,9600 vt102 Type=simple
Tips & Tricks
Avoiding unnecessary dmesg errors
To avoid errors related to
display-manager.service in dmesg, you should set the default target to multi-user instead of graphical:
# systemctl enable multi-user.target