I have a CentOS 6.2 OS which boots into GUI. How, upon startup, can I not boot into the GUI and instead, boot into the CLI? I want to do this at computer startup time.

4 Answers 4


When you are at the GRUB menu where you select which OS to boot (if this menu don’t appear, press ESC while you get the “Booting CentOS in X seconds”), press e to edit your boot commands. You should see a screen like this: (parameters may vary)

GRUB menu

Look for the line that begins with kernel. Choose it and then press e again. You will be at a simple editor, add 3 to the end of this line. This means booting in runlevel 3, which is text-mode only.

To make this stick: edit /etc/inittab and look for a line that begin with id:5. Replace the 5 in that line by 3. You can find a brief description of runlevels here, but shortly:

  • Runlevel 0 and 6: halt and reboot the machine, respectively.
  • Runlevel 1: No services running, only root can login.
  • Runlevel 2: Users can login but no networking.
  • Runlevel 3: Networking and text-mode.
  • Runlevel 4: unused.
  • Runlevel 5: GUI.
  • 3
    After making the kernel edit for the runlevel boot mode, (and pushing b for "boot"), is it still supposed to load the splash screen?
    – bgmCoder
    May 19, 2012 at 21:10
  • 1
    @BGM I think so, but it should drop you to the login prompt after it finishes.
    – Renan
    May 19, 2012 at 21:11
  • It works for level 1, but not for level 3. Is that strange?
    – bgmCoder
    May 19, 2012 at 21:12
  • Anyway, Renan has the answer. I also found it here: linuxquestions.org/questions/linux-server-73/…
    – bgmCoder
    May 19, 2012 at 21:25
  • 3
    For CentOS 7, type this into the Terminal: 'systemctl set-default multi-user.target' and to change it back, 'systemctl set-default graphical.target'
    – turiyag
    Aug 24, 2015 at 18:43
  1. Apart from what Renan mentioned, you can switch to another runlevel by simply executing sudo init [level-number] -- this is temporary, when you reboot, you get to your default, configured in /etc/inittab.
  2. If you don't want to see splash screen, you need to replace kernel param rhgb with text in boot menu. To make it permanent, edit /boot/grub/grub.conf.

In Centos 8, you have to use systemctl set-default TARGET.target command and replace TARGET with either multi-user for runlevel of 3, i.e. Terminal, or graphical for runlevel of 5.

So this is the command to use in Centos 8 to switch to Terminal when the system gets restarted: systemctl set-default multi-user.target

Once in Terminal, you can start the GUI again if you need to by using: systemctl isolate graphical


Here is how /inittab/etc looks on Centos - run: systemctl set-default multi-user.target and reboot to get to the CLI.

# inittab is no longer used.
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:

# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
# To view current default target, run:
# systemctl get-default
# To set a default target, run:
# systemctl set-default TARGET.target                                       

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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