Old method to change the runlevel via /etc/inittab in Redhat Enterprise Linux version and CentOS server has become obsolete on RHEL 7 and CentOS 7. This latest Linux operating system uses systemd system management daemon and relies on systemctl command in order to change the runlevel. RunLevel is set with linking to /etc/systemd/system/default.target. Please make sure you have already install Gnome GUI before you proceed to change runlevel.
1. Check the current runlevel :
# runlevel N 3
or
# systemctl get-default multi-user.target
2. We can display the default.target by using list command :
# ll /etc/systemd/system/default.target lrwxrwxrwx. 1 root root 37 Sep 1 2014 /etc/systemd/system/default.target -> /lib/systemd/system/multi-user.target
3. For example to list all currently loaded targets :
# systemctl list-units -t target
UNIT LOAD ACTIVE SUB DESCRIPTION basic.target loaded active active Basic System cryptsetup.target loaded active active Encrypted Volumes getty.target loaded active active Login Prompts local-fs-pre.target loaded active active Local File Systems (Pre) local-fs.target loaded active active Local File Systems multi-user.target loaded active active Multi-User System network.target loaded active active Network paths.target loaded active active Paths remote-fs.target loaded active active Remote File Systems slices.target loaded active active Slices sockets.target loaded active active Sockets swap.target loaded active active Swap sysinit.target loaded active active System Initialization timers.target loaded active active Timers LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 14 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
4. Type the following command to change the RunLevel to Graphical-login :
# systemctl set-default graphical.target
rm '/etc/systemd/system/default.target' ln -s '/usr/lib/systemd/system/graphical.target' '/etc/systemd/system/default.target'
5. Verify the changed runlevel :
# runlevel N 5
or
# systemctl get-default graphical.target
6. Reboot the server to login to GNOME gui.