Starting Ubuntu without the GUI

I want to boot a "Ubuntu 10.04.2 LTS" server, but I want XFCE not to be started, nor X at all, only Shell.

How do I tell my server to boot to the shell, not running XFCE at all?

I have an SSH connection to the server, but no display connected.

Since I migrated from earlier versions I use GRUB 1, where no /etc/default/grub exists.

I would like to set the target runlevel somewhere, without changing GRUB at all.


I see three ways to do it:

1. Changing the default runlevel

You can set it at the beginnign of /etc/init/rc-sysinit.conf replace 2 by 3 and reboot. You can enable the graphical interface with telinit 2.(More about runlevels)

2. Do not launch the graphical interface service on boot

update-rc.d -f xdm remove

Quick and easy. You can re-enable the graphical interface with service xdm start or revert your changes with update-rc.d -f xdm defaults

3. Remove packages

apt-get remove --purge x11-common && apt-get autoremove

I think it suits best for a computer considered as a server. You can re-enable the graphical interface by reinstalling the packages.


I got a simple method to disable XFCE from this blog post: How to disable X at boot time in Ubuntu 11.10.  Note: the post has a heading in some non-English language, possibly Portuguese, but the body of the post is in English.

With LightDM (lightdm) being the new graphical user login in Ubuntu, users will need to find a way to disable it to boot into text mode.  Fortunately, the people behind LightDM have made that really easy to do.

Edit /etc/default/grub with your favorite editor,

sudo nano /etc/default/grub

Find this line:

GRUB_CMDLINE_LINUX_DEFAULT="<doesn’t matter what you find here>"

Change it to:

GRUB_CMDLINE_LINUX_DEFAULT="text"

Update Grub:

sudo update-grub

No need to remove / disable LightDM upstart conf; it already does that for you.

lightdm.conf

# Check kernel command-line for inhibitors, unless we are being called manually.
for ARG in $(cat /proc/cmdline); do
        if [ "$ARG" = "text" ]; then
                plymouth quit || :
                stop
                exit 0
        fi
done

You will still be able to use X by typing startx after you logged in.