- Home
- Packages
- Forums
- Wiki
- Bugs
- AUR
- Download

# Automatic login to virtual console

From ArchWiki

Summary
Describes how to automatically log in to a virtual console.
Related
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.

## Installation

### 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 `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:

    /etc/systemd/system/getty@tty1.service.d/autologin.conf

    [Service]
    ExecStart=
    ExecStart=-/usr/bin/agetty --autologin <username> --noclear %I 38400 linux

Tip: The option `Type=idle` 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.

By default, `getty@.service` uses `Type=idle`. If you want to use `Type=simple`, then your `autologin.conf` should look like this:

    /etc/systemd/system/getty@tty1.service.d/autologin.conf

    [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

The file `autologin.conf` will also look slightly different

    /etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf

    [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

## See also

- Change default runlevel/target to boot into.

Retrieved from "https://wiki.archlinux.org/index.php?title=Automatic_login_to_virtual_console&oldid=276380"
Categories:

- Boot process
- Security

## Navigation menu