Table of Contents:
- History of Cinnamon Desktop
- How to Install Cinnamon Desktop
- Cinnamon Desktop Features
Linux Mint is one of the most famous distributions out there, and it’s generally thought of as a beginner-friendly Linux distribution. It indeed is. But this article is not about Mint or how good it is, rather, it is about its default desktop: Cinnamon.
In a lot of discussions about which desktops are better on Linux, people seem to forget that Cinnamon exists, although it’s one of the best desktops out there that you can try. Just like its developers describe it:
Cinnamon is a Linux desktop which provides advanced innovative features and a traditional user experience.
This article will take you on a deep tour of Cinnamon and why we think it’s one of the best desktops out there. We will also explain how you can install Cinnamon desktop.
History of Cinnamon Desktop
Historically, Cinnamon development started after GNOME 3 came out.
A lot of things actually started after GNOME 3 came out in 2011:
- MATE was forked from GNOME 2 in an effort to keep the traditional desktop layout.
- Canonical / Ubuntu started developing Unity as a replacement for GNOME 2.x.
- Mint developers, on the other hand, introduced a set of GNOME Shell extensions that tried to alter the behavior of the shell to make it look like a traditional GNOME 2 desktop environment. An effort that seemed impossible to sustain with the API break between each new GNOME version, especially since it was still under heavy development back in the day. In the end, Mint developers forked the entire GNOME Shell stack and called it “Cinnamon”.
- Nautilus, the default GNOME file manager was forked into “Nemo”. Mutter, the GNOME Shell’s compositor, was forked into “Muffin”, and a lot of similar libraries and apps were forked too.
Cinnamon desktop has come a long way in the past decade. It has evolved into something completely different from the original GNOME Shell.
Cinnamon is now highly customizable, functional, and visually appealing in a more traditional manner. Unlike other desktop environments that constantly change their user experience with each new version, Cinnamon allows you to stay familiar with your PC so that you can focus on your actual work.
Cinnamon 1.0 in terms of the general UI / UX is almost identical to the latest Cinnamon version. And the Linux community seems to forget that the silent majority appreciates such a thing.
How to Install Cinnamon Desktop
Here are the instructions on how to install Cinnamon on various Linux distributions.
How to Install Cinnamon Desktop on Ubuntu/Debian
Cinnamon is available in the official repositories for both Ubuntu and Debian Linux distributions, and by extension, every distribution that is based upon them.
To install Cinnamon desktop on Ubuntu or Debian:
- Open the terminal by pressing Ctrl+Alt+T on your keyboard. Or simply launch it from your application menu.
- Update your system’s package list by running the following command:
sudo apt update
- Install the Cinnamon Desktop package by running the following command:
sudo apt install cinnamon-desktop-environment
- During the installation process, you may be prompted to choose a display manager. You can select either
lightdm, depending on your preference. Use the arrow keys to navigate and press
Enterto make your selection.
- Once the installation is complete, log out of your current session.
- On the login screen, click on the gear icon next to the username field.
- Select “Cinnamon Session” from the list of available desktop environments.
- Enter your password and press Enter to log in.
How to Install Cinnamon Desktop on Fedora
The instructions for installing the Cinnamon desktop environment on Fedora are similar to those of Ubuntu and Debian. The only difference is that you need to run the following command in the terminal instead of the
sudo dnf install cinnamon
And you can do the rest of the steps.
How to Install Cinnamon Desktop on Arch Linux
Arch Linux nerds can simply install the Cinnamon desktop environment from the official Arch Linux repositories using the following command:
sudo pacman -S cinnamon
The package is available in the “Extra” repository and is updated continuously from the GitHub repository for Cinnamon.
How to Install Cinnamon Desktop on Other Linux Distributions
You will most likely find the
cinnamon package and related dependencies in your official Linux distribution repositories. Just search for it in your favorite package manager and install it.
If you couldn’t find it, then there is no way for you to install it other than compiling it from the GitHub source.
Cinnamon Desktop Features
Let’s go on a tour of what makes Cinnamon desktop special among other Linux desktop environments.
1. Traditional Layout
Cinnamon features a traditional layout by default: One customizable panel at the bottom of the screen, desktop icons, and the possibility to add desklets. This is the same layout too in all Windows versions, from XP to 11.
It makes new users coming from Windows more familiar with how to reach things and doesn’t really limit power users in any way.
There are other layouts that you can have too: You can have one panel at the top and one panel at the bottom, and add applets to each of them separately. You could also have a Unity-like layout by putting the panel on the left side of the screen:
2. Quickly Installable Themes, Applets & Extensions
One of the nice things about Cinnamon is that you can quickly install the things you need from inside the control center itself. You don’t need to Google for “Cinnamon themes” and then spend an hour installing and testing many themes from many sources. Instead, you can just get what you want from the “Add/Remove” tab in the Themes Settings:
From this window, you can see the screenshot of the theme, so you can know what it looks like before you install it. If you like it, you just need to hit the add button and it will be installed automatically for you in 1 second.
This isn’t just available for themes, but also for applets, desklets, and extensions. You can install them from their settings windows too:
In this way, you won’t spend too much time tweaking your desktop in order to use it, because you can get everything you need in Cinnamon right away.
If I am not wrong, this feature doesn’t exist in any other GTK-based desktop: GNOME, XFCE or MATE. It exists only in KDE, where you can download everything you need (even wallpapers) from inside the control center.
If you would like to browse these “spices” from an online website, then you can install them from the official Cinnamon website.
3. Advanced Cinnamon Settings for Everything
Another amazing aspect of Cinnamon is the huge availability of possible settings to adjust. There’s a setting for everything in Cinnamon, and the “coverage” of those settings does reach a really deep level.
In the panel settings, you’ll have these options:
Notice how you can change the panel size however you like, but also still be able to resize the icons to any different size you want, and you don’t have to make all the icons in the panel in one size only; you can resize them based on the area they appear in (Right, left and middle).
This is a very good feature because some icons will look really bad if they are always automatically sized with the panel size, so playing with them manually can solve this, and Cinnamon allows you to do that in no time.
Also, notice that you can control the sizes of symbolic icons separately if you would like away from the colorful normal icon sizes.
Another good example is the hot corners feature in Cinnamon. You can view all workspaces, view all windows or show the desktop whenever your mouse pointer reaches a specific corner of the screen. You can also set a delay before this happens, or even run a specific command when it happens. You can also close windows that you don’t need in the workspaces overview:
Nemo is Cinnamon’s file manager. It was forked of the original Nautilus file manager since version 3.4. Today, it has tons of options that you can tweak however you like. You can compare between the two from the videos below:
Cinnamon offers a great window management experience. A lot of other options to play with (There’s a small glitch in recording this one, sorry for that):
You can also enable/disable VBlank mode (Making the framerate the same as the refresh rate of the monitor), or emulate the middle click on both right and left click occurrences (It’s better to disable both of these options for gaming).
Cinnamon itself, as a shell, does scale well on HiDPI screens automatically thanks to the default scaling option, but because its programs are still GTK-based (and GTK doesn’t fully support fractional scaling yet) you’ll get a mix of the two experiences:
There are many other possible settings to tweak in the Cinnamon Control Center, but they are typically like in any other place: Fonts, accessibility, keyboard & mouse, and power management… And so on.
4. Cinnamon 2D/Software Rendering Session
There’s a special Cinnamon session that uses software rendering instead of hardware rendering. This means that if you ever happen to encounter a driver issue for example, then instead of being locked out of your Linux desktop, you’ll be automatically logged in to the software rendering session.
A software rendering session depends entirely on the CPU of the computer to “render” the UI, and does not depend on GPU drivers. That’s why you may find CPU usage in such sessions high. But it can be treated as a “fallback” session in case any issues are encountered in the default session.
This session is part of the default Cinnamon package. It’s not in a separate package.
5. Cinnamon Desktop Effects
This feature isn’t essential for many users, but still, Cinnamon developers have taken it to its maximum limits.
You can choose whether you want to enable or disable effects in many places in Cinnamon, such as menus, windows, dialogs… And you can also enable or disable overlay scrollbars (Which are the type of scrollbars that are displayed as a small one until you hover it with your mouse, then it shows you its full real size). You can even control the size of the scrollbars if you like!
What’s more interesting is that Cinnamon offers a set of effects that you can choose for any window operation you do: Closing, minimizing, snapping… And allows you to see a symbolic live preview of that effect:
6. Stable UI, UX and API
This can’t be emphasized enough: Cinnamon 1.0 is just like the latest version of Cinnamon desktop in terms of layout: Desktop icons, a panel on the bottom with a start menu on the left and a system tray on the right, and window buttons in the middle. New features are added all the time, and bugs are continuously fixed, but the user experience does not change.
There are some new features of course in each new version of the Cinnamon desktop. Grouping opened windows on the panel was added in one of the latest versions of Cinnamon, as well as various file manager options that could help power users.
However, the key catch is that these new features do not break the traditional user experience, instead, they just enrich it.
The same thing goes about using the Cinnamon API for developing panel applets, desklets, themes, and extensions. If you are a developer for one of these, then you will notice that it is rare that you need to modify your software addon to make it compatible with the new Cinnamon API. Once you write it, you write it for a very long time.
The theme I used in this tour for example is called “Windows 10”. It was last updated in 2017. Still, it works great on today’s Cinnamon with no issues at all as you can see from this post.
7. Related Cinnamon Apps
Since Cinnamon is mainly developed by the Linux Mint team for their own distribution, the Cinnamon desktop also includes some additional dependencies and other recommended programs to use with it.
For example, Cinnamon depends a lot on the Nemo file manager, which is forked from the Nautilus file manager of GNOME. The same goes for Muffin: The window manager used in Cinnamon which is forked from Mutter, and MDM: The display manager forked from GDM.
There are other programs that you can see from the list of Cinnamon projects.
Since these apps have been forked from their original upstream a long time ago, you might notice that they have matured to become totally different in some ways from the original apps that you interacted with in the past.
For example, the Nemo file manager is very customizable, and with the release of Cinnamon 6.0, “Cinnamon Actions” were introduced so that users can run certain actions in the context menu when selecting their files. Such a feature is absent from many other desktop environments.
MDM, the default display manager of Cinnamon (which can be used with any other desktop environments too), supports themes and customizations to a very big degree, unlike GDM:
That’s why, if you use Cinnamon, you will notice that there are a lot of additional features that you will receive with the desktop suite as a whole, and not just from the Cinnamon desktop itself.
So far you have seen the best of Cinnamon and why we think it’s one of the most important desktops to consider using on Linux. If you liked it and want to try it, you may search for it in the official repositories of your Linux distribution, as it’s probably going to be there.
You can learn more about Cinnamon and its components from the official website provided by the Linux Mint project.
If you have any other similar experiences or comments on Cinnamon, we’ll be happy to hear about them in the comments.
Hanny is a computer science & engineering graduate with a master degree, and an open source software developer. He has created a lot of open source programs over the years, and maintains separate online platforms for promoting open source in his local communities.
Hanny is the founder of FOSS Post.