How do I setup tty autologin in Ubuntu which is running Upstart

There is no /etc/inittab in Ubuntu, because Ubuntu uses upstart to define startup services and runlevel. And this has not started from the last release of Ubuntu, but a long time ago.

Anyway, you can still use inittab, simply create one. I report a passage from /usr/share/doc/upstart/README.Debian.gz:

How do I change the default runlevel?
-------------------------------------

If you have an /etc/inittab file, edit it.  Locate the following line:

    id:N:initdefault:

Where N is the default runlevel, change this to match.

Most people won't have that file, you can edit /etc/init/rc-sysinit.conf
and change the following line:

    env DEFAULT_RUNLEVEL=2

but bear in mind that Ubuntu do not use standard runlevel meaning as other linux distros/unix os. Old standard was:

  • 0 - shutdown
  • 1 - single user mode
  • 3 - multiuser text mode
  • 5 - multiuser graphical mode
  • 6 - reboot

but Ubuntu uses:

  • 0 - shutdown
  • 1 - single user mode
  • 2 - multiuser graphical mode
  • 6 - reboot

Finally, if you want to have a virtual terminal with automatic login, then modifying the exec line in tty1.conf seems the correct way, though I do not know mingetty, so cannot say if you used it correctly.


On my xubuntu 11.10 system, the default runlevel was set in /etc/init/rc-sysinit.conf - the line in question read env DEFAULT_RUNLEVEL=2. So I created a /etc/init/rc-sysinit.override, and put in it one line that reads env DEFAULT_RUNLEVEL=5, so now my default runlevel is 5.


Then I created a /etc/init/lightdm.override (or gdm.override, or kdm.override, whatever the case may be for whatever display manager you're using), and copied all of the start and stop items from lightdm.conf - and just changed the runlevel bits so my display manager starts in runlevel 5, and stops in other runlevels.