Automatic login to virtual console

From ArchWiki
Revision as of 17:01, 20 December 2012 by Kaari (Talk | contribs) (Killing X)

Jump to: navigation, search
Summary help replacing me
Describes how to automatically log in to a virtual console.
Display Manager
Silent boot
Start X at Login

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.


Create a new service file similar to getty@.service by copying it to /etc/systemd/system/:

# cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@.service
Note: /etc/systemd/system/ takes precedence over /usr/lib/systemd/system/.

Then change the ExecStart line to include the -a USERNAME parameter:

ExecStart=-/sbin/agetty --noclear -a USERNAME %I 38400

Tip: It is possible to change Type=idle to Type=simple and avoid delaying the execution of agetty until all jobs (state change requests to units) are completed. This option is more useful when starting X automatically. See man systemd.service for more info.
Note: Type=simple can cause systemd boot-up messages to pollute the login prompt.
Note: If you're using mingetty, simply replace /sbin/agetty to /sbin/mingetty

Finally, you need to disable the old getty@ttyX.service for the specified tty and enable the new autologin@ttyX.service. For example,

# systemctl daemon-reload
# systemctl disable getty@tty1
# systemctl enable autologin@tty1
# systemctl start autologin@tty1
Warning: If you are currently in an X session on the same tty configured in the service file, starting autologin@ttyX.service will kill your X server.

To avoid errors related to display-manager.service in dmesg, you should set the default target to multi-user instead of graphical:

# systemctl enable

Killing X

To kill X and prevent it from immediately reloading, stop the service.

# systemctl stop autologin@tty1.service

See also