How To Install Cinnamon GUI In CentOS 7 Linux

By default a full installation of CentOS 7 will have the GNOME graphical user interface (GUI) installed and it will load up after system boot, however if we have installed CentOS without a GUI installed we can always install one later, or optionally we can install a different GUI.

This quick guide will cover how to install the Cinnamon desktop on CentOS 7, which will provide a GUI for working with the Linux system. While I don’t suggest using a GUI on a production server, it’s a good option if you’re using CentOS as a desktop.

Cinnamon is a desktop environment originally forked from GNOME, it’s primarily developed for the Linux Mint distribution.

Cinnamon Desktop

Cinnamon Desktop

Install Cinnamon In CentOS

While there are many different graphical user interfaces available for Linux, in this example we will be using Cinnamon.

First we need to configure the EPEL repository, as this is where we will be installing packages from.

[root@centos7 ~]# yum install epel-release -y

Next I needed to install the “Server with GUI” group before proceeding. Note that this will also install GNOME, you’ll be able to change to Cinnamon later though.

[root@centos7 ~]# yum groupinstall "Server with GUI" -y

Installing the Cinnamon Desktop is now as simple as installing the “cinnamon” package, which then has many dependencies to install many more packages that are required for a GUI installation.

[root@centos7 ~]# yum install cinnamon -y

Note that this may take a while, on my minimal installation I needed to download around 40 packages which took up about 135MB on top of the Server with GUI package group.

Start The GUI

By default after installing these packages, the default target should have automatically updated, meaning that after a reboot the GUI will automatically be loaded. We can check the current default target as shown below.

[root@centos7 ~]# systemctl get-default

In this instance the target has been updated appropriately by installing these package groups. If it instead said, then you would need to update it manually.

The target is similar to the old run levels, in this case is equivalent to run level 3 meaning that after a reboot the GUI will not be loaded here. We can set the default to the which is equivalent to run level 5.

[root@centos7 ~]# systemctl set-default
Removed symlink /etc/systemd/system/
Created symlink from /etc/systemd/system/ to /usr/lib/systemd/system/

[root@centos7 ~]# systemctl get-default

While this has changed the default target which is accessed during system boot, our current target is still the We can change to the GUI by performing ‘systemctl isolate’ which will change us to the GUI immediately.

[root@centos7 ~]# systemctl isolate

Alternatively a system reboot would also work, as all future boots should boot to the graphical target by default.

When you’re at the login screen, simply select the cog icon and pick Cinnamon, as shown below. This preference should be remembered and automatically selected for next time.

Select Cinnamon at login

Removing Cinnamon

If you’ve installed the GUI on a server and realized that it was a terrible mistake, don’t worry! We can also undo this by simply using yum to remove the cinnamon package.

[root@centos7 ~]# yum remove cinnamon

Carefully read through the packages that will be removed and ensure that this looks correct prior to removing packages or dependencies.


As shown we can easily install the Cinnamon desktop group of packages in CentOS 7 Linux, which will provide us with a graphical user interface that can be used for managing and interacting with the system.

Leave a comment ?


  1. there is no package cinnamon

    • Hmm interesting, it does not appear to show up for me any longer, no group for it either. I tried installing all cinnamon* packages but this did not work either.. I’ll see if I can work it out and get the post updated.

  2. Anything new on that matter?

  3. cinnamon packages have been renamed

    yum list cinnam\*
    yum install cinnam\*

  4. It was moved to the test repo. This worked for me.

    yum install cinnamon –enablerepo=epel-testing

  5. It worked for me. Thank you.

  6. Any luck running cinnamon with centos 7.4? I got many graphical glitches and weird bugs… Thanks

  7. The first site that actually outline what need to be done that actually works. Thank you very much.

  8. “yum install cinnamon –enablerepo=epel-testing” Also worked for me. Thanks Dean!

    Btw, the long dash before the “enablerepo” is actually 2 short dashes. Like this:

    “yum install cinnamon –enablerepo=epel-testing”

    So I just ran that on the GNOME terminal after doing the steps above in the article. Then Cinnamon shows up as one of the options during the log in.

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>