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.
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.
[[email protected] ~]# 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.
[[email protected] ~]# 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.
[[email protected] ~]# 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.
[[email protected] ~]# systemctl get-default graphical.target
In this instance the target has been updated appropriately by installing these package groups. If it instead said multi-user.target, then you would need to update it manually.
The target is similar to the old run levels, in this case multi-user.target 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 graphical.target which is equivalent to run level 5.
[[email protected] ~]# systemctl set-default graphical.target Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target. [[email protected] ~]# systemctl get-default graphical.target
While this has changed the default target which is accessed during system boot, our current target is still the multi-user.target. We can change to the GUI by performing ‘systemctl isolate graphical.target’ which will change us to the GUI immediately.
[[email protected] ~]# systemctl isolate graphical.target
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.
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.
[[email protected] ~]# 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.
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.
I’m having the same problem Jarrod. Really hoping you can find a solution.
Anything new on that matter?
cinnamon packages have been renamed
yum list cinnam\*
yum install cinnam\*
I tried this previously, basically just installing all packages from EPEL that start with cinnamon, but it didn’t work for me.
Yes – the same applies to me… No success with cinnam*
It was moved to the test repo. This worked for me.
yum install cinnamon –enablerepo=epel-testing
It worked for me. Thank you.
Any luck running cinnamon with centos 7.4? I got many graphical glitches and weird bugs… Thanks
I haven’t upgraded any of my test VMs to 7.4 yet, I’ll let you know if I do when I get around to it.
This Cinnamon 2.8 version on Centos 7 runs slow and behaves wierd but looks very nice. Tha Mate dist runs better having less graphical enhancements.
The first site that actually outline what need to be done that actually works. Thank you very much.
“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.
WordPress tried to be smart and turns double – – into one :(