10

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?

30

Try this:

sudo systemctl edit getty@tty1.service

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:

  • Create the folder /etc/systemd/system/getty@tty1.service.d if necessary
  • Create the file /etc/systemd/system/getty@tty1.service.d/override.conf if necessary
| improve this answer | |
  • 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 '17 at 10:04
  • 1
    Your guide took me stuck at [OK] Started Update UTMP about System Runlevel Changes. during boot – Patrizio Bertoni Sep 19 '17 at 8:46
  • 4
    Instead of manually creating the .d directory and the override.conf file we can also simply say sudo systemctl edit getty@tty1.service. 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 '18 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 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 at 9:41
3

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 getty@.service 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 getty@tty1.service immediately by adding Type=simple into the file.

More info: getty: Archlinux.org

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.