Is it safe to switch from Gnome to Cinnamon? How to switch in Fedora 40 from Gnome to Cinnamon?


last 2 days I try to fix Gnome tray icons but still can’t find any solution for that. I was about to go back to Linux Mint but I really like Fedora. I saw Fedora got a Cinnamon spin but is it safe to switch and ditch Gnome 46? If yes, what I need to do to switch? Can I remive Gnome for Cinnamon, which is based on Gnome?


If you don’t like Gnome the safest way is to backup all the things you want to save and then do a new install of the other version of Fedora, overwriting the current one. Once you have done, you copy the saved stuff on the new install.

I suggest to try any version of Fedora booting from a “live” USB key so you can both test your hardware with that system and you can have a tour of the desktop to see if you like it. You install only after you have checked as much as possible on the “live” environment.

The backup - install - recover procedure is what you have to master in any case. I stress the “backup” part. You always have a backup to rebuild a system from scratch.

I would not try to install Cinnamon over Gnome and then remove the latter. I have never tried because I don’t see the reason for it but it seems a procedure that can easily go wrong and then you have just wasted your time, so why bother.

Do you need the tray support? For me the only thing it really affected was Steam and Keybase, and both of those I just run in the foreground and exit when finished. For stuff running through wine, Wine can create its own system tray as a floating window (as long as legacy tray extension is disabled).

I too would recommend installing Fedora’s Cinnamon spin, vs trying to install it on-top of Workstation with GNOME.

Install an extension AppIndicator and KStatusNotifierItem Support - GNOME Shell Extensions

In the past (GNOME 44ish) that only put tray icons on the top bar; they weren’t able to be interacted with though (Steam, Keybase, Jagex Launcher)

Try to use gnome shell extensions. There are options that you might like: “dash to panel”, etc.


In Fedora 38 Workstation, I did not like at all the Gnome look. Reminded me badly of a Windows 8 tablet. So I installed cinnamon right over it even though it was a F38 fresh install, well just a week olf but already customized. Had to try that first. If it went wrong, I still had the option of a fresh Cinnamon spin install. And that was not necessary.

Never had any problem at all except the monitor names changed which affected xrandr (Gnome used wayland whereas cinnamon uses xorg).

Upgraded to F39, then F40 and the computer still works perfectly fine. It’s technically a Workstation installation (with Gnome), but the main desktop is Cinnamon, which I prefer way more.

Just my two cents.

1 Like

@lendenu I love Gnome but I love it with all the feature and extensions. When I update often I get problems like that.

@Espionage724 yes, without that I won’t use Gnome anymore. I use it with last Fedora release month without any problems.

@nononoyes not working.

@hardlinux I use dash to panel. With extensions i build my Cinnamon like Gnome.

@josevillani I thought the best support will be here but I find a good wiki

Will try it later.

Added docs-team

I havent checked the names, but something like this would do what you said you want

sudo dnf groupremove "Workstation" && sudo dnf groupinstall "Cinnamon Desktop"

Even though I agree, Cinnamon is worse than GNOME with extensions in my eyes

Back in october, all I did was:

“sudo dnf install @cinnamon-desktop-environment

And at reboot, select Cinnamon.

It is a free world so you can have your likes and dislikes, of course.

I used to hate Gnome because I did not see why I should ditch the “traditional desktop” I had been using all my life.

I am stubborn, lazy but also curious so one day I had to move from XFCE and I thought to use Fedora Workstation for a while, to understand it better.

The point is Gnome makes sense only if you get it as a whole, you embrace the philosophy so to speak. Trying to mix Gnome with other DE by using extensions doesn’t make much sense, if you can’t live without whatever feature the extensions provide probably you shouldn’t use Gnome. That is fine since there are other DEs.

Plus there is the obvious problem that extensions add possible bugs and performance issues and they break with each single Gnome upgrade. The very idea of extensions is flawed in my opinion.

Installing a DE on top of another sounds unecessary from the functionality stand point and dangerous from the “safety” stand point. Besides the relative waste of “space”. If you need or like Cinnamon, just install it over a generic Fedora without all the complications of Gnome, either with the “spin” or with Fedora Everything.

@boredsquirrel sure but its working. I would stay but when its jot working few weeks it is usless.

@lendenu I ask about how I can install Cinnamon and not about Cinnamon vs Gnome.

I also don’t care about Gnome philosophy, because I never use it stock, just because of extensions, where I can build my Desktop how I like it.

When I am force to use this and that, than we can use Windows :smiley:

I will try to install Cinnamon and if this not works grear I will switch to Linux Mint 22 when its released. I start with Fedora 34 or 35 and every update Gnomr f… up.

1 Like

I think that the idea that GNOME is unusable without extensions or that you should use no extensions are both opposite extremes and are sorta wrong.

In my opinion the way you should think about this should take in account how gnome-shell extensions work: you are monkey patching the shell.
It’s basically the same way old Firefox extensions worked a long time ago: before the move to WebExtensions, Firefox extensions had full control over the browser, which made it a problem for Firefox devs to improve the browser (as any change could potentially break extensions). So they moved to WebExtensions and now there’s a well defined API that extensions can use, but now extensions are much less powerful.

The point is that gnome-shell would either allow “monkey-patching” and allow extremely powerful extensions, but those extensions may break in every new release if something internal to the shell that the extension was relying on changes, or they can define an API that is well supported and then commit to supporting it, which would limit what kinds of extensions can be created but those extensions are more likely to keep working on newer versions.

Another thing to consider is that there exists a set of blessed extensions that is developed as a part of GNOME and many of them make part of the GNOME Classic session, they are on the gnome-shell-extensions repo. They are usually packaged in distros along with a new GNOME release and likely get uploaded to the Gnome Extensions website around the time of a new release.

What should be pointed out is that it’s not the fact that you run many extensions that is the problem, but how complex and deep are the changes the extension you are running doing.

Think like this, if you run a extension that does deep changes on how the shell works (let’s use Dash to Panel as an example), then that extension might be doing deep and complex changes, replacing a lot of code with their own. This could cause instability and crashes due to the nature of the changes, but it might also work without any issues as well.
However, if you were to use a desktop environment that provided the functionality provided by the Dash to Panel extension out-of-the-box (or gated behind a setting) in a well-tested manner, that would likely be a better experience. In a sense, doing complex replacements of native shell functionality with custom ones is what causes issues.

I personally believe extensions that add new simple features not natively present is a overall better choice, for exemple one extension that I basically require is one that allows seeing CPU usage and Memory usage from the top bar, for which I previously used to use Vitals but recently I have moved to to the system-monitor extension from the aforementioned gnome-shell-extensions repo.

Essentially the problem that extensions break and extension developers take too long to develop is a matter of:

  1. by the nature of making extensions we can have either extremely powerful extensions that can break at any moment or limited extensions that can work across many releases
  2. the more complex and deep the changes the extension does on shell code, the more work the devs might have to put to fix it for the new version if a shell code change breaks it
  3. Not all extension developers might be on distros that will be a new GNOME release that soon, so they might personally not be in a hurry to update, for example the window between the .rc release and the Fedora Beta up to Stable release window is a good point at which devs could update the extension and most users wouldn’t hit any issues when the new GNOME version hits the wider Linux world.

Particularly interesting on point 3 is the App Indicators extension, which is developed by the Ubuntu devs and I wouldn’t be much surprised if they only published a GNOME 46 compatible version close to Ubuntu 24.04 release when they could have published it earlier.

To sum up: the deeper the modifications, the more likely the extension is to break and the longer it will take to be updated; there’s literally no way to solve this without stopping changing the shell internally (which means fewer improvements) or nerfing extensions (extension stability at the cost of flexibility); the advice of “never using extensions” is overkill, just limit yourself to simpler extensions and maybe hold off upgrading for 1 or 2 months.

We don’t have to invent the weel here, in fact you named an obvious example of FAILURE that is browser extensions.

I repeat, browser extensions are a failure, an idea that seemed cool but proved wrong.

Extensions are both harmful and useless. The harmful part is when you need to inspect the code and approve every change to make sure the extension is not malicious and/or wrongly made. The useless part is when you consider 99% extensions don’t do anything really useful because the “useful” stuff requires full control and knowledge of the internals, plus of course you must have a good idea.

Another example in the same line, Chrome. At the beginning it did not have any extension. Then by popular demand, since the main competitor was Firefox, extensions have been added. Extensions proved harmful, Chrome removes some features and introduces some limitations (see Manifest v.3).

Besides, we all had that phase during which we played with anything and the more options, the more bells and whistles, the better. Gnome is the worst place for it then. Much better to go playing with Plasma.

That’s a good point, though there are extensions that due to their nature might be useful. A few examples I can think of are ad blockers (such as uBlock Origin), Ruffle for emulating Flash on sites that haven’t integrated it natively, integration with passwords managers external to the browser (whether running locally or on the cloud), extensions at allow running custom scripts, altering css, disabling js (although this usually can be done natively nowadays), tab management and even very niche uses that have to be done via an extension and couldn’t be done some other way.

I haven’t been following this, but I have sometimes given support to machines infected with viruses that would force install extensions on Chrome in developer mode, they would usually install some sort of task that runs an obfuscated script that forced Chrome to install and accept the extension, likely with the goal of stealing some personal data. If the Chrome update does limit extension power so stealing data from that is less likely, then great!
But the reason people were complaining the most is that this change interferes in ad blockers in a time where the web is chockful of ads each one more annoying than the other.

Yes, that’s actually part of my point, if you are using Gnome but you replace a lot of shell code for whatever reason, you will suffer a lot with updates because those extensions take the most work to be properly functional.
But here’s the other thing, Plasma allow much more configuration than Gnome out of the box, which means a lots of settings to choose and a lot of possibilities that a user could be running at any point in time.

So, while Gnome will have very few options and very few configurations to support, developers can have a easier time in supporting the possible configurations. Plasma will have so many options to choose and so many possible configurations that you might be a bit more likely to hit an edge case due to an interaction between options that the devs didn’t foresee.

Not saying that KDE is less stable than Gnome, but that having less code to handle (and less alternative paths on that code) can lead to less problems as it’s easier to reason about the code. I would still recommend KDE or other DEs or WMs over GNOME with extensions for people who don’t like the “Gnome way”.

1 Like

Well, in another thread I have been told to shut up because of Fedora “main sponsor”.

Chrome main sponsor is a corporation that collects and sells user data. So I bet the “content blockers” like uBlock Origin aren’t exactly in the best interest of the main sponsor.

So maybe it was to save the users from malicious extensions, maybe to limit what “content blockers” can do, here comes some change so that extensions cannot inspect page content and cannot dynamically filter it, it must be the browser itself by reading a “list” of explicit rules.

That said, I don’t know much of the process that made Gnome the way it is today but if I think of a “generic software”, the idea of extensions is like a backdoor or a trojan horse (the good way to say it “plugin system”) so when ever you are asked to add a feature that is not “hardcoded” you can add it “softcoded” as extension. The problem is you don’t have to call it “extension” if you do that internally, it becomes “extension” when you outsource the coding. In Netscape-Firefox story, it was EVERYBODY. It was so “open” that it wasn’t even a browser but a “platform” to develop software.
AAAND crash. It didn’t work.

This is also about Firefox and UBlock. Because Mozilla gets all their money from annoying ad deals, they cannot preinstall an Adblocker.

But as Extensions can swim on the top, they can be added in just like these ad things can be neuteres in projects like Arkenfox, Torbrowser, Librewolf etc.

Having the builtin ability to add 3rd party code, comparable to Fedora with rpmfusion, allows users to bypass restrictions that the project may have.

This can also be maintenance cost, as if Mozilla does something it has to be 100% supported.

Projects can be Extension platforms with limitations, rules and safety checks. GNOME, KDE and more may not really have them, as it requires tons of effort. But they could.

I agree that in the current situation, running extensions is really tricky and can break your desktop or infest it with malware.

Which is why I prefer KDE, as there are not many extensions needed.

I make it simple: the problem comes when you cannot say who has done the software and who is distributing it. That is not related to the “plug-in” idea, instead it comes from the idea of the “store” that collects anybody’s stuff for anybody to install.

I think it’s similar to people using those random shell32 dll Explorer modifying junk to restore an ancient Start menu (OpenShell), as if people are interfacing with the start menu that much :stuck_out_tongue:

The problem is when you introduce 3rd-party stuff to try to workaround what the developers intended. That 3rd-party stuff is not up to the same standard as the thing it’s modifying, isn’t on the same release schedule, isn’t on the same security standards, and only exists to try to revert something that was changed for a reason.

And then of course there’s the random issue reports all over the place with people running wacky extensions that fail to mention it. And queue the extension being found, removed, and solving the problem :stuck_out_tongue:

I use GNOME with no extensions regularly, but sometimes use Hide Top Bar to hide the top bar and its clock. That extension had no GNOME 45 support throughout majority of 45’s release, and only just got 45 support right before 46 came out, of which the support for 46 was also delayed. I used a fork for 45 support for a bit.

That’s the issue with 3rd-party extensions and it wasn’t even something essential :stuck_out_tongue:

If I absolutely had to have multiple extensions to use GNOME, I’d be on Xfce. I don’t like the concept of heavily modifying upstream, and have years of WindowBlinds and past experience to know it all breaks in some way eventually. Equally I feel Plasma having all the extensions and even 3rd-party ones supported makes it the exact definition of “Jack of all trades, master of none”.

A desktop environment is not rocket science. If you’re going to use one, use it; why make it something it wasn’t intended and work against it? Linux is literally the best OS to figure out what you want with choices.

As for browser extensions, since browsers aren’t doing malicious ad-blocking, extensions to do it are required. Chrome not supporting them on Android makes it unusable, and it doesn’t make sense to not be consistent about the browser on desktop. There are numerous reports of malware and coin miners being delivered through Google AdSense, and the whole business model values ad quantity over quality.

Firefox (or supported browsers) + uBlock Origin (or NoScript or similar) have been a requirement to browsing the web safely for years, and annoying ad-blocking is just a nice convenience that nobody should be against.