Automatic login to virtual console

From ArchWiki
Revision as of 17:36, 31 May 2013 by Mhertz (talk | contribs) (Use drop-in feature of systemd for getty autologin)
Jump to: navigation, search

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

First create a new directory named getty@tty1.service.d under /etc/systemd/system:

# mkdir /etc/systemd/system/getty@tty1.service.d

Then create a new file named autologin.conf and add it into the directory:

ExecStart=-/sbin/agetty --autologin <username> --noclear %I 38400 linux
Tip: The option Type=simple will 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.service for more info.

If wanting to use 'Type=simple', then your autologin.conf should look like this:

ExecStart=-/sbin/agetty --autologin <username> --noclear %I 38400 linux

Enabling the service

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

# systemctl daemon-reload
# systemctl disable getty@tty1
# systemctl enable autologin@tty1

To test it out, use:

# systemctl start autologin@tty1

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

See also