Is it possible to disable X at boot time? I'm setting up a server so it would be nice if it wouldn't load the graphical interface every time I boot.

  • On the GDM login screen of 11.04 and earlier, I think there was an xterm session option that would just give you a command line. Alternatively, you may be able to reach something from a recovery option in GRUB, though you probably wouldn't be able to set it as a default that way. – Christopher Kyle Horton Nov 14 '11 at 7:31
  • you can also watch this post askubuntu.com/questions/2093/… – hhlp Nov 14 '11 at 18:04
  • It is lightdm you want. It replaced gdm in 11.10. – Elvis Stressborg Nov 15 '11 at 23:27
  • Thank you. So, how do I stop LightDM from loading on bootup? – Jim Wilson Nov 16 '11 at 1:43

16 Answers 16


Edit /etc/default/grub with your favourite editor, e.g. nano:

sudo nano /etc/default/grub

Find this line:


Change it to:


Update GRUB:

sudo update-grub

For systems that use systemd

This is an additional step for systemd releases, e.g. Ubuntu 15.04, the steps above for grub are still necessary.

You need to tell systemd to not load the graphical login manager:

sudo systemctl enable multi-user.target --force
sudo systemctl set-default multi-user.target

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

  • 3
    That works for lightdm, this works for any graphical login manager? This is the proper way of loading a Linux system without loading a X server? Just seems more logical? Choose one... :) – Bruno Pereira Jan 23 '14 at 22:21
  • 1
    Any graphical login manager ? This solution instead is tied to grub which it is not used (or even available) on new mobile platforms where Ubuntu runs, while disabling the service is bootloader-independent. Proper way ? No fact mentioned. More logical ? Inhibiting a particular service is not a logically a boot-time parameter. But you're still right somehow due to another fact: your solution not only inhibits lightdm but also plymouth (at initrd step and others), so its semantics is not "disable X" but "disable any graphical setup" and that needs to fiddle bootloader configuration. Thanks ! – Stéphane Gourichon Jan 24 '14 at 8:45
  • 2
    Since the question is made for Ubuntu and not the mobile platform (can you even change anything in the mobile version of Ubuntu? Why would that be a good thing? I am guessing you would be locked to a prompt that knows nothing about keyboard input and accepts fancy finger touches and gestures :P) I am assuming we are talking about Ubuntu, the desktop Linux based operative system that I love and can modify to my needs. :) But you are right, there is a semantics issue with the title of the post, feel free to edit it to something more proper! Thanks for the comments. – Bruno Pereira Jan 24 '14 at 10:36
  • 11
    @Joyce first run systemctl get-default to find out what is the current run-level name and remember its name then use systemctl set-default multi-user.target to change it to "multi-user.target" or run these equals commands instead and see the changes. rm '/etc/systemd/system/default.target' then ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target'. If the issue is still exist redo the default run-level that you remember it via systemctl set-default RunLevelName. – αғsнιη Apr 9 '15 at 7:27
  • 3
    on the systemctl command i get the error message: "The unit files have no [Install] section." – don bright Aug 13 '15 at 1:19

Installing the GUI will probably cause it to start automatically, but it's very easy to boot to text mode in Ubuntu. Just open /etc/default/grub as root and add text to the


line. Then run:

sudo update-grub

Your system will then always boot to text mode.

If you want to boot to the GUI, just press e in the boot menu and remove text from the kernel line.

If you want to start the GUI after boot, just run:

sudo /etc/init.d/lightdm start

Hope this helps :)


For 11.04 and previous versions (and perhaps later)

If you want to boot into text mode:

Edit /etc/default/grub. For example:

sudo gedit /etc/default/grub

Find this line:


Add text:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"

Then update Grub:

sudo update-grub

Note: Removing quiet splash (i.e. GRUB_CMDLINE_LINUX_DEFAULT="") will show text during boot but then show a graphical login screen as usual. Replacing quiet splash with text will leave you at a login prompt; to start a GNOME session, use sudo /etc/init.d/gdm start or startx.

To disable GDM:
Install bum Install bum.

After installation it will be found under System>>Administration>>Bootup-Manager

Uncheck Gnome Display Manager alt text

  • The GRUB config worked. Out of curiosity, why would I want to disable GDM? – Olivier Lalonde Dec 6 '10 at 3:22
  • 1
    because doing so would accomplish the same thing. – RolandiXor Dec 6 '10 at 3:27
  • 1
    Confirmed in 13.04 that GRUB_CMDLINE_LINUX_DEFAULT="" works to show details during boot while still launching graphical login. – Jesse Glick May 20 '13 at 13:46

If you are using lightdm as a login manager it can be prevented from loading by disabling it.

You can use an override:

sudo bash -c 'echo "manual" >> /etc/init/lightdm.override'

And to start lightdm on command:

sudo start lightdm

To restore your system so that lightdm is always started on boot:

sudo rm /etc/init/lightdm.override

For more information, the upstart cookbook is your friend:

  • 1
    This does not work in Ubuntu 15.10. – mmdanziger Dec 7 '15 at 12:11

You could use Ubuntu Server edition.


It has already beed answered in several old questions, but cannot find them just now, so I sum up the various situations here.

  1. To stop an X server started by startx, simply terminate the session.

  2. To stop an X server started by the Login Manager (GDM), run

    sudo service gdm stop

    then move to a tty, for example pressing Ctrl-Alt-F1, then login here in text mode.

  3. To avoid at all the starting of the Login Manager (and X), modify


    changing the line


    to become

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"

    then update the grub configuration file with

    sudo update-grub

    so that the next time you go directly to text mode, and you need startx to initiate a X session, or alternatively sudo service gdm start.


I did following

Step 1 First update your repository by running

sudo apt-get update

Step 2 There is some bug in old version of lightdm, so we need to upgrade the same. To do so run,

sudo apt-get install lightdm

Step 3 Now we have to modify grub config. Step 3a Open /etc/default/grub with your favourite editor and change




Step 3b Also comment GRUB_HIDDEN_TIMEOUT=0 This line is for un-hiding the GRUB menu

Step 4 Now we will upgrade GRUB configuration

sudo update-grub

Step 5 Ubuntu 11.10 Desktop edition use lightdm for GUI. We need to disable the same

sudo update-rc.d -f lightdm remove

Step 6 Now restart your machine.

Found at Disable GUI Boot in Ubuntu 11.10


Yes, telling the system to start in console at boot time is possible through editing grub command. When you reach grub menu, highlight Ubuntu's entry and press e.

You will see text such as in the image bellow:

enter image description here

Change the text quiet splash to text . Press F10 to launch. (Source: rolling-ubuntu). I have tested this on my system, 14.04, booted into text console, no lightdm in sight. Started lightdm with sudo initctl start lightdm

To avoid doing so every time, you can add permanent grub entry with such option as suggested in this answer

An alternative suggestion, is to change default runlevel and change runlevels at which lightdm starts/stops, as suggested by another answer on the same post

  • Ubuntu 18.04 Live ISO still launches Xorg regardless of the text option. Instead, specifying the runlevel, simply 3 instead of text, makes it work. Credit goes to this answer. – Ruslan Jul 11 at 14:12
  • @Ruslan Useful info, thanks. My answer is actually for desktop specifically and was posted in 2015 while 14.04 release was current. – Sergiy Kolodyazhnyy Jul 11 at 14:39
  • I was testing this on the Live ISO of the desktop version of Ubuntu 18.04. Nothing requires server or other editions for this 3 option to work (and for text to not work, which happened to me). – Ruslan Jul 11 at 14:49

I noticed this thread revolves around assuming you are using LightDM as the Display Manager. Though this may be the usual DM/welcomer, that isn't part of the original question. (And he did not specify..)

In my case:

I use KDE/KDM on my server. Instead, I simply disable the upstart/service from starting under runlevel 2:

/etc/init/kdm.conf: (kdm: 4:4.8.5-0ubuntu0.3 , Upstart Version: 1.5-0ubuntu7.2)


start on ((filesystem


           and runlevel [!06]


           and runlevel [!026]

Assuming your default runlevel is 2 on fresh reboot, you will have a console and not KDM. Then you can run DM/DE manually when needed = Use 'startx' /etc. To return machine to console and exit X server completely after this, just use 'log out'.

Other dm .confs scripts are similar. (I setup my server like this.. to be able to work using a GUI occasionally - but, not pull resources when not using/needed or simply rebooting.)


(My current system: Upstart 1.12.1 / Ubuntu 14.04)

Due to upstart the way to resolve this lately is to simply disable your Display Manager from starting on boot:

echo "manual" | sudo tee -a /etc/init/{service}.override

For lightdm:

 echo  "manual" | sudo tee -a /etc/init/lightdm.override

This can be any service in /etc/init including kdm/gdm. 'startx' to run as needed following a reboot.

How to disable lightdm?
How to enable or disable services?


The steps are:

Customize the grub 2 configuration:

  • sudo nano /etc/default/grub, to open the file with root privilege,

Find the line


and change it to


Save the changes (hit ctrl + o followed by ENTER) and close the file (ctrl + x).

To apply the new configuration do this

  • sudo update-grub

Now restart your PC

  • sudo reboot

There you are... A text-graphic login screen... Supply your credentials to log-in to the tty (default tty1). You can change the tty's with crtl + alt + [F1 to F6] for tty1 to tty6. You may also start the X session (X11 session), the graphical user interface, with sudo start lightdm (ctrl + alt + F7).

PS: In case you want to revert the changes you've made here follow the link:

How to revert back to GUI as the default interface from CLI in Ubuntu desktop?


If using Lubuntu 15.05 with systemd managing boot processes it is possible to boot to the console and then later from the console start the graphical environment. Follow these steps:

  1. follow the previously mentioned edits to grub per Bruno:
    Edit /etc/default/grub with your favorite editor, eg: nano:

    sudo nano /etc/default/grub

    Find out this line:


    Change it to:


    Update Grub:

    sudo update-grub
  2. Bruno suggested sudo systemctl enable multi-user.target --force. The use of force bothered me so I preferred sudo systemctl set-default multi-user.target. open a terminal and do sudo systemctl set-default multi-user.target

  3. reboot will take you into console asking for password

  4. when desiring to enter graphical environment enter sudo systemctl start lightdm. You will be taken to the lightdm login window.

  5. use ctrl alt F1 key combo to get back to console you were at to exit out if so desired. (I exit out of the console mode as I am usually done there till next boot) ctrl alt F7 to get back to lightdm login. or ctrl alt F1 through F7 per need or desire.

  • 1
    If you have a NEW question, please ask it by clicking the Ask Question button. If you have sufficient reputation, you may upvote the question. Alternatively, "star" it as a favorite and you will be notified of any new answers. – Michael Lindman Apr 9 '15 at 18:54
  • @randyblanc This seems like it may be, at least in part, an answer to the question--but it's worded sort of like a separate, related question. To make this clear for people searching for help (so they know this post might help them), and to decrease the likelihood that this post will be considered not-an-answer and deleted, I recommend rewording this, and also removing anything that is actually a question (rather than a proposed solution) and posting it as a new question. If this really is not intended as an answer, please let us know and/or delete it. – Eliah Kagan Apr 9 '15 at 20:43

You may also want to prevent the kernel from changing video modes which can be problematic, especially if you cannot see the login prompt or it is partially off the screen. Add the setting GRUB_CMDLINE_LINUX_DEFAULT="nomodeset" to /etc/default/grub:

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#for text mode boot up... and also uncomment the "console" terminal

Tested with Ubuntu Server 16.04.1


I did following:

  1. First update your repository by running

    sudo apt-get update
  2. There is some bug in old version of lightdm, so we need to upgrade the same. To do so run,

    sudo apt-get install lightdm
  3. Now we have to modify grub config.

    Open /etc/default/grub with your favorite editor and change




    Also comment GRUB_HIDDEN_TIMEOUT=0 This line is for unhiding the GRUB menu

  4. Now we will upgrade GRUB configuration

    sudo update-grub
  5. Now restart your machine.

  • According to lightdm.conf it is not necessary to remove lightdm. – Bruno Pereira Jan 12 '12 at 20:18
  • if you did not remove it you will get GUI after doing all this. – Vidyadhar Jan 14 '12 at 7:59
  • Sorry, just tested it in 11.10, this is not true, no need to remove lighdm, step 5 is not necessary. – Bruno Pereira Jan 14 '12 at 8:56
  • Ok I have removed the 5th step regarding lightdm – Vidyadhar Jan 15 '12 at 8:14

When you install Ubuntu-desktop, it will automatically set lightdm to start with the system. You will have to disable this (probably by editing /etc/rc.local) and use startx to run the graphical interface when you need it.


Just a report on Lubuntu 18.04.3 LTS.

sudo nano /etc/default/grub

then changing the line mentioned above to:


sudo update-grub

This correctly sets up text mode of booting. Very useful, I can track and spot problems without going into log files.

systemctl get-default 

This outputs "graphical.target" and please note it for future restoring original state.

sudo systemctl set-default multi-user.target 

This switched off GUI of XWindows (lightdm and startx, openbox, etc.), but I had to type 3 times my login/password to boot into Xwindows:

A) login

B) sudo lightdm # starts xwindows with my default setting (which is good)

C) regular GUI login dialog of Lubuntu.

Three logins are annoying, but it works OK otherwise.

Restore original setting:

 sudo systemctl set-default graphical.target

Hopefully this will be useful to someone. :-)


For Ubuntu 14.04 Trusty Tahr and Ubuntu 12.04 Precise Pangolin, systemd has been added to a third party PPA, so testing it on the latest Ubuntu LTS systems is easy. All you have to do is add the ppa to your system

sudo add-apt-repository ppa:pitti/systemd
sudo apt-get update
sudo apt-get dist-upgrade 

Now Open the /etc/default/grub file by using any of the text editor (I used gedit here) with sudo privilege via Terminal to edit like follow:

sudo -H gedit /etc/default/grub

change the line GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" to GRUB_CMDLINE_LINUX_DEFAULT = "init=/lib/systemd/systemd"

save the file and update the Grub:

sudo update-grub

Then restart now the system will boot in to text console tty1.

To Login in to GUI again run

sudo start lightdm

Note: Do not use startx or Ctrl+Alt+F7 For Ubuntu 15.04 that uses systemd use sudo service lightdm start

  • How does it link to the question? – rancho Jun 24 '16 at 7:42

protected by heemayl Aug 21 '15 at 23:23

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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