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. – Knowledge Cube Nov 14 '11 at 07:31
-
you can also watch this post http://askubuntu.com/questions/2093/how-to-install-gui-desktop-on-a-server/7611#7611 – 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 01:43
16 Answers
Edit /etc/default/grub
with your favourite editor, e.g. nano
:
sudo nano /etc/default/grub
Find this line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Change it to:
GRUB_CMDLINE_LINUX_DEFAULT="text"
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.

- 73,643
-
What's the benefit of this option instead of just inhibiting lightdm cf. http://askubuntu.com/a/79698/68124 ? – Stéphane Gourichon Jan 23 '14 at 20:12
-
3That 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
-
1Any 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 08:45
-
2Since 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
-
1Don't assume non-PC platforms are mobile phones or tablet only, poking fun at anyone showing that there's something outside Plato's cave. All those anyway start as development boards without screen, keyboard or mouse but rather a serial port as first communication channel, and keyboard support (e.g. via USB, or even USB OTG for the final product) is likely to be available before touchscreen. https://wiki.ubuntu.com/ARM – Stéphane Gourichon Jan 25 '14 at 16:57
-
1@BrunoPereira it worked for me, but when I log in and issue
startx
it just shows the Ubuntu background image and I do not get any desktop session. Do you know why? – x-man Aug 21 '14 at 19:19 -
1
-
Wouldn't it just be easier to remove LightDM so running "startx" takes you straight into your desktop environment? It just seems logical to me, like desktop managers are things that are made to be run at boot time. If you're going to type "startx" into a terminal to start your desktop environment, wouldn't that make the desktop manager pointless, like, what would even be the point of having it? If you want to use "startx" to start your desktop environment, it seems silly to bother with LightDM, or any desktop manager for that matter. – John Scott Apr 04 '15 at 23:11
-
@FuzzyToothpaste That is your option, I am also fine with it. No one is saying what you can or not do, you could install a server release + icewm and that would suffice for all graphical tasks but that is not the point of the question. the question is how to disable it, not to un-install it or prevent installing. – Bruno Pereira Apr 05 '15 at 19:44
-
@BrunoPereira I'm using the "sudo systemctl ..." command and getting the error "The unit files have no [Install] section. They are not meant to be neabled using systemctl." Any ideas? Update: Never mind ... I was reading hastily and didn't see that it was an additional step, not a standalone. Sorry, let me try it again. – Joyce Apr 08 '15 at 19:43
-
@FuzzyToothpaste Uninstalling lightdm worked on 14.04. I tried it on 15.04 and then my system wouldn't boot! – Joyce Apr 08 '15 at 19:43
-
@BrunoPereira Okay, I followed all the steps and am still getting the same error. :( – Joyce Apr 08 '15 at 19:55
-
@Joyce Hai, I am installing 15.04 and testing this again (this was done a few weeks ago and could not catch up with new packages). Will get back to you asap. – Bruno Pereira Apr 08 '15 at 21:54
-
15@Joyce first run
systemctl get-default
to find out what is the current run-level name and remember its name then usesystemctl 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'
thenln -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 viasystemctl set-default RunLevelName
. – αғsнιη Apr 09 '15 at 07:27 -
1@KasiyA Perfect, that's what was missing! Thanks for the suggestion, this worked perfectly in a test box. – Bruno Pereira Apr 09 '15 at 07:49
-
@KasiyA The "systemctl set-default multi-user.target" command did the trick for me! THANK YOU!! – Joyce Apr 09 '15 at 15:15
-
1In 15.04, to get back to graphical mode from your console, use @Xiao-Long's instruction below:
sudo /etc/init.d/lightdm start
. – davidbak Jun 02 '15 at 17:21 -
I'm on 15.04. I did those steps and now I can't login. I get to a login screen
tty1
and whatever I type I getlogin incorrect
. I'm certain the user and password are correct. What can I do? – Pier Jun 16 '15 at 19:51 -
are you using password less users? do not think that will work in this setup. – Bruno Pereira Jun 19 '15 at 09:19
-
@Pier http://askubuntu.com/questions/24006/how-do-i-reset-a-lost-administrative-password – Bruno Pereira Jun 19 '15 at 09:19
-
4on the systemctl command i get the error message: "The unit files have no [Install] section." – don bright Aug 13 '15 at 01:19
-
1I got the same problem but proceeded with the next step and was able to boot into console mode, but can switch to GUI any more -- it gets stuck in a GUI login propt cycle if I start lightdm or starts to paint windows and hangs if I run startx. Anyone else have this problem? – biggvsdiccvs Jul 21 '16 at 04:15
-
Is there any way to roll it back? http://askubuntu.com/questions/834832/how-do-i-enable-x-at-boot-time-so-that-the-system-boots-not-in-text-mode – al0s Oct 10 '16 at 05:01
-
5I am getting REALLY frustrated because A) this no longer works on bionic. B) All google searches come up with this answer. – rew Aug 01 '18 at 15:22
-
-
-
1I assume
sudo systemctl set-default graphical.target
should revert the systemd setting – Jannis Froese May 26 '20 at 11:04 -
1In UBUNTU 20, you can run
sudo systemctl set-default multi-user
Then you can restart and that's it.
(GRUB_CMDLINE_LINUX_DEFAULT is empty)
– magallanes Feb 15 '21 at 18:48
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
GRUB_CMDLINE_LINUX_DEFAULT=
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 :)

- 4,398
-
-
also watch this -> http://askubuntu.com/questions/70188/how-do-i-boot-into-console-mode – hhlp Nov 14 '11 at 15:46
-
2@hhlp: Fixed. With the latest Lightdm update, the upstart job respects the
text
kernel cmdline. – Andrew Gunnerson Nov 14 '11 at 17:13 -
-
1@AshRj: Yes, it's valid for all versions of Ubuntu using upstart :) – Andrew Gunnerson Feb 27 '13 at 18:42
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:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
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 .
After installation it will be found under System>>Administration>>Bootup-Manager
Uncheck Gnome Display Manager

- 81,947
-
The GRUB config worked. Out of curiosity, why would I want to disable GDM? – Olivier Lalonde Dec 06 '10 at 03:22
-
1
-
1Confirmed 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:

- 73,643

- 3,978
It has already beed answered in several old questions, but cannot find them just now, so I sum up the various situations here.
To stop an X server started by
startx
, simply terminate the session.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.
To avoid at all the starting of the Login Manager (and X), modify
/etc/default/grub
changing the line
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
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 alternativelysudo service gdm start
.

- 93,831
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:
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

- 105,154
- 20
- 279
- 497
-
Ubuntu 18.04 Live ISO still launches Xorg regardless of the
text
option. Instead, specifying the runlevel, simply3
instead oftext
, makes it work. Credit goes to this answer. – Ruslan Jul 11 '19 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 '19 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 fortext
to not work, which happened to me). – Ruslan Jul 11 '19 at 14:49
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
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
to
GRUB_CMDLINE_LINUX_DEFAULT="text"
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

- 2,051
- 7
- 30
- 47

- 1,450
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)
Find:
start on ((filesystem
change
and runlevel [!06]
to
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.)
EDIT
(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.
ref:
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
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
and change it to
GRUB_CMDLINE_LINUX_DEFAULT=”text”
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:
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:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Change it to:
GRUB_CMDLINE_LINUX_DEFAULT="text"
Update Grub:
sudo update-grub
Bruno suggested
sudo systemctl enable multi-user.target --force
. The use offorce
bothered me so I preferredsudo systemctl set-default multi-user.target
. open a terminal and dosudo systemctl set-default multi-user.target
reboot will take you into console asking for password
when desiring to enter graphical environment enter
sudo systemctl start lightdm
. You will be taken to the lightdm login window.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.
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_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true
#GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#for text mode boot up... and also uncomment the "console" terminal
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
#GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console
And then run the command
sudo update-grub
Tested with Ubuntu Server 16.04.1
I did following:
First update your repository by running
sudo apt-get update
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
Now we have to modify grub config.
Open
/etc/default/grub
with your favorite editor and changeGRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
to
GRUB_CMDLINE_LINUX_DEFAULT="text"
Also comment
GRUB_HIDDEN_TIMEOUT=0
This line is for unhiding the GRUB menuNow we will upgrade GRUB configuration
sudo update-grub
Now restart your machine.
-
According to
lightdm.conf
it is not necessary to remove lightdm. – Bruno Pereira Jan 12 '12 at 20:18 -
-
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 08:56
-
Just a report on Lubuntu 18.04.3 LTS.
sudo nano /etc/default/grub
Then change the line GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
to GRUB_CMDLINE_LINUX_DEFAULT="text"
and run
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. :-)

- 70,465

- 990
- 9
- 20
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.

- 51,541
This is a slightly different method to set autologin for lightdm so you don't have to enter a password to log into the graphical session. However, it should be noted that google chrome will ask for your password only once, the first time after you login, to unlock your keyring.
First, edit /etc/default/grub
and change:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
to this:
GRUB_CMDLINE_LINUX_DEFAULT="text"
Save the file when you are finished and then run the following command to update grub:
sudo update-grub
Next, install lightdm and libpam-gnome-keyring so you only have to enter the password the first time you start google chrome after you login:
sudo apt update
sudo apt install lightdm libpam-gnome-keyring
Then, run the following command to set autologin for your current user on lightdm:
printf "[SeatDefaults]\nautologin-user=$USER\n" | sudo tee -a /etc/lightdm/lightdm.conf
Save any unsaved work and reboot.
Finally, when you want to start a graphical session, run the following command to start lightdm:
sudo systemctl start lightdm

- 43,546
- 8
- 97
- 150