25

I have a problem with autologin at startup in Ubuntu Server 16.04.1 LTS.

I use this server only for listening internet radio so I do not care about security.

I was able to create a bash script to auto start mplayer but can't configure autologin.

I've tried at least 4 solutions (always editing the file /etc/init/tty1.conf and of course replacing USERNAME with actual user name):

  1. change the line from

    exec /sbin/getty -8 38400 tty1
    

    to

    exec /sbin/getty -8 38400 tty1 -a USERNAME 
    
  2. change the line from

    exec /sbin/getty -8 38400 tty1
    

    to

    exec /bin/login -f USERNAME < /dev/tty1 > /dev/tty1 2>&1
    
  3. Install rungetty, comment the line

    exec /sbin/getty -8 38400 tty1
    

    and add the line

    exec /sbin/rungetty --autologin USERNAME tty1 
    
  4. Install mingetty, comment the line

    exec /sbin/getty -8 38400 tty1
    

    and add the line

    exec /sbin/mingetty --autologin USERNAME tty1
    

Nothing helps - I have to input my login and password at startup - any ideas what to do?

2 Answers 2

49

Try this:

sudo systemctl edit [email protected]

This will the create a drop-in file (if neccessary) and open it an editor. Add the following, replacing myusername with your user name:

[Service]
ExecStart=
ExecStart=-/sbin/agetty --noissue --autologin myusername %I $TERM
Type=idle

This will:

11
  • I followed your guide and my machine can log in automatically now. BUT I cannot ssh to the machine as possible before. Please help me to get back to my SSH connection.
    – Nam G VU
    Feb 10, 2017 at 10:04
  • 1
    Your guide took me stuck at [OK] Started Update UTMP about System Runlevel Changes. during boot Sep 19, 2017 at 8:46
  • 4
    Instead of manually creating the .d directory and the override.conf file we can also simply say sudo systemctl edit [email protected]. It will the create the file (if neccessary) and open it an editor. Simply save the file under the suggested name when finished.
    – PerlDuck
    Jul 25, 2018 at 11:23
  • 1
    Still works in 20.04. @PerlDuck I've edited the solution with a request that your improved steps are added to the original solution, they're faster, use the official systemctl tool which is less prone to error and chooses a text editor automatically, alleviating doubt. I've preserved the OP's documentation about the files that it creates so it doesn't lose informational value. Thanks kindly!
    – tresf
    Apr 15, 2020 at 18:09
  • 1
    @tresf Very nice, thank you. I took the freedom to replace "This will the create the file" with "This will the create a drop-in file" so that people know what kind of file that is -- and what to search for in case more information is needed.
    – PerlDuck
    Apr 16, 2020 at 9:41
6

agetty opens a tty port, prompts for a login name and invokes the /bin/login command.

This file overrides the config by default of agetty on systemd for tty1. This provides a new instance of tty1 with autologin for the user specified.

By the way, the parameter --noissue is used to hide the contents of /etc/issue on login, so not needed in your case.

The option Type=idle found in the default [email protected] will delay the service startup until all jobs are completed in order to avoid polluting the login prompt with boot-up messages. When starting X automatically, it may be useful to start [email protected] immediately by adding Type=simple into the file.

More info: getty: Archlinux.org

1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .