36

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.

Renan
  • 7,981
  • 4
  • 39
  • 48
bgmCoder
  • 1,909
  • 4
  • 34
  • 50

4 Answers4

50

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.
Giacomo1968
  • 53,069
  • 19
  • 162
  • 212
Renan
  • 7,981
  • 4
  • 39
  • 48
  • 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 '12 at 21:10
  • 1
    @BGM I think so, but it should drop you to the login prompt after it finishes. – Renan May 19 '12 at 21:11
  • It works for level 1, but not for level 3. Is that strange? – bgmCoder May 19 '12 at 21:12
  • Anyway, Renan has the answer. I also found it here: http://www.linuxquestions.org/questions/linux-server-73/auditd-fails-to-start-on-boot-846100/ – bgmCoder May 19 '12 at 21:25
  • Thanks it's fine for 6.4. I don't think this works for CentOS 7 though... – lppier May 11 '15 at 07:35
  • @lppier I haven't used CentOS 7 much, but likely it doesn't work since CentOS now uses systemd. – Renan May 11 '15 at 12:34
  • 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 '15 at 18:43
  • @Renan In statement "add 3 to the end of this line" What "this line" refers too? – brainLoop Mar 07 '19 at 12:46
4
  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.
Pavan
  • 41
  • 1
0

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

shaheen g
  • 141
  • 3
0

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.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# 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