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)?
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.
I think there is a good answer at How do I disable X at boot time so that the system boots in text mode?
Just to answer your question on how to change run level. Edit the file
/etc/init/rc-sysinit.conf and change this line.
But changing runlevel won't stop X. Look at the start condition for ligthdm:
start on ((filesystem and runlevel [!06] and started dbus and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1 or stopped udev-fallback-graphics)) or runlevel PREVLEVEL=S)
You need change the start condition in the
/etc/init/XXX file to something than isn't met, e. g. a higher run level than you use.
XXX is the display manager you use, e. g.
Here is deep instrtuction for runlevels - http://sysadmin.te.ua/linux/linux-boot.html
The following is for Ubuntu Server 12 LTS
First you need open a real term with
CTRL+ALT F1 and login.
Stop gdm with.
$ sudo service gdm stop
Remove gdm you dont need it at all on a server.
$ sudo apt-get remove gdm
Set next boot runlevel with.
$ sudo telinit 3
Without gdm you will need to install xinit if you want to still be able to run gui based apps without the gdm window manager.
$ sudo apt-get install xinit
Reboot to runlevel 3.
$ sudo reboot
To run a GUI or desktop after reboot do.
This will start your gnome session as normal.
When finished simply logout of your desktop to and drop you back to a level 3 term
Also you can now start individual apps without a desktop too like.
$ startx nautilus
or privileged with
$ startx sudo synaptic
it's quite simple, (I'm using 15.10 so depending on your release you might need to turn off gdm instead of lightdm)
turn off the your display manager for the desired runlevel (for me 3)
sudo update-rc.d lightdm stop 3
tell grub to boot runlevel 3 by default
sudo vim /etc/defaults/grub
update your grub config
reboot the box or run
sudo service lightdm stop
I was trying to install NVIDIA graphic card driver and CUDA toolkit, and the installation guide says "Reboot into text mode (runlevel 3)". After searching around, I discovered that runlevel 3 is not necessary, as long as it is text mode and GUI is not running. For this purpose, the following link solved my problem: