I want my Ubuntu 16.04 to not start GUI on boot and show command line console only. I have tried the following recipies but none of them are for version 16.04 and so they do not seem to work — GUI starts anyway:


  2. Changing the default runlevel

Ideally I also want to be able to start GUI by typig a command.

5 Answers 5


You could disable the display manager service with systemctl. For example if your display manager is lightdm then run:

sudo systemctl disable lightdm.service

This will prevent the service from starting at boot.


I forgot to mention how to start the GUI. It is as simple as starting the systemd service:

sudo systemctl start lightdm.service
  • 1
    This worked for me on 16.04 on a arm board. Thanks. :)
    – wojci
    Nov 9, 2016 at 18:51
  • This did not work on my system. (16.04 LTS on a PC) It shows the initial screen with all the [ OK ] messages as the services start, and then freezes. Mar 30, 2018 at 3:24
  • BTW to re-enable the service the command is actually sudo systemctl enable lightdm.service Mar 30, 2018 at 4:25

Instead of text use runlevel 3:


# To remove all the fancy graphics you need to get rid of `splash`.

# Uncomment to disable graphical terminal (grub-pc only) 

Then update-grub and reboot.

But you really only need GRUB_CMDLINE_LINUX="3". For quick test hit ESC during booting to get into the grub boot menu. Then press e and find the line which specifies kernel and add 3 at the end:

 linux /vmlinuz root=/dev/mapper/ubuntu ro 3

Boot it with CTRL+x

Ideally I also want to be able to start GUI by typig a command.

One of these:

$ sudo telinit 5
$ sudo service lightdm restart
$ sudo systemctl start lightdm

Tested on Ubuntu 16.04.1 LTS.

  • 4
    Replacing "text" by "3", worked for me ! Very efficient ! Thanks Jan 26, 2017 at 17:02
  • hi. the answer looks nice but its hard to understand. I just Ideally need one command to boot into text mode, do what I need, and go back into normal desktop mode.
    – nyxee
    Aug 19, 2017 at 2:29
  • 1
    @nyxee My answer has 3 sections. Follow the second: "For quick test hit..."
    – A.D.
    Aug 19, 2017 at 6:29
  • 1
    Nice answer. I'm just used to post longer answers with a lot of information so we all can learn more. And also I'm familiar with grub cmd line options so it's faster for me to add 3 and I'm good to go + it's multi-distro solution :)
    – A.D.
    Aug 20, 2017 at 16:40
  • 1
    Worked for me on Xubuntu 18.04.
    – RonJohn
    Nov 28, 2020 at 3:02
  • When in GUI-mode, this will take you to text-mode (runlevel 2,3,4) on reboot. You may get a blank screen (no-gui) which is a reminder that there's no GUI :-), enter ctrlalt(F1,F2,...) to use the runlevels.

systemctl set-default multi-user.target

  • This will take you back to GUI boot when you are in text-mode.

systemctl set-default graphical.target


One of the following, as part of the kernel command line (editable via GRUB), should work:

  • systemd.unit=multi-user.target will override the default of "graphical.target" – this, along with systemctl set-default, is the equivalent of "default runlevel";
  • systemd.mask=lightdm.service will forbid a specific service from starting, until manually systemctl unmask'd later;
  • systemd.mask=display-manager.service – same;
  • rescue aka systemd.unit=rescue.target is the equivalent of "single-user runlevel"; not for daily use, but useful when fixing broken GUI.
  • it would be useful to mention how you return to normality from that "emergency setting" .
    – nyxee
    Aug 19, 2017 at 2:27
  • 1
    For the benefit of others, the actual CLI command you want is systemctl set-default multi-user.target (and I believe systemctl set-default graphical.target would reset it)
    – Andrea
    Sep 17, 2017 at 20:19
  • That's only if you want it semi-permanent, and can reach a shell in the first place. The main post has nothing to do with CLI commands.
    – user1686
    Sep 17, 2017 at 22:08

for ubuntu 18.04 enable root user

 sudo passwd

and then

systemctl set-default multi-user.target

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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