Ubuntu – Boot to Runlevel 3

12.04runlevel

I am running Ubuntu Server, and just installed the gnome desktop on there (I neeeded to run an application that would only work in a graphical interface). However, now the server boots to the GUI every time. I need the server to boot to the command line (runlevel 3). According to several articles that I've read, Ubuntu does not use the standard runlevels. What file do I need to modify in order to boot to runlevel 3 (or whatever the Ubuntu equivalent is)?

Best Answer

Theoretically, if Ubuntu were compliant with UNIX and Linux standard, adding '3' to grub's 'kernel' command in /boot/grub/menu.lst should have been sufficient, because runlevel '3' means no 'X11' according to this standard.

Unfortunately, Ubuntu has ignored the standard and that's why you'll need to change /etc/init/lightdm.conf or /etc/init/gdm.conf (or whatever DM you use) as well. This is how mine "on start" condition looks like:

start on ((filesystem
       and runlevel [!06]
       and runlevel [!03]
       and started dbus
       and plymouth-ready)
      or runlevel PREVLEVEL=S)

In Grub's menu.lst I've also added a menu item that allows me to boot to runlevel 3:

title           Ubuntu 11.10 Server No UI, kernel 3.0.0-32-generic-pae
root            (hd0,0)
kernel          /vmlinuz-3.0.0-32-generic-pae root=UUID=your-root-disk-id 3 ro
initrd          /initrd.img-3.0.0-32-generic-pae
quiet


title           Ubuntu 11.10, kernel 3.0.0-32-generic-pae
root            (hd0,0)
kernel          /vmlinuz-3.0.0-32-generic-pae root=your-root-disk-id ro
initrd          /initrd.img-3.0.0-32-generic-pae
quiet

Now I can chose between booting to runlevel 5 with X11 or to runlevel 3 without it.

Related Question