Today Skip writes…
I’ve been using Ubuntu (with a NVIDIA card of some sort) for ten years now, but I’ve NEVER understood the difference between Gnome (I thought I liked that), Unity, and MATE(THREE thumbs UP!). Is there a simple explanation?
Boy Skip, this is a tall order. I’ll do my best though.
MATE and GNOME are considered desktop environments. Unity…and this is where it gets confusing…is a graphical shell running on top of GNOME Shell. Confused yet? Okay, bear with me as I break this down.
Think of a car
So we have car. This car has stuff like an engine, a radio, a gas pedal and the brake pedal. The GNOME desktop is basically your car radio, heater/AC, gas pedal, brake pedal, steering wheel, seat belts…stuff you would use to start, drive, stop and generally click buttons/turn knobs to make stuff happen in your car. The same exact thing would apply to MATE, as it’s the same brand of car, but a slightly different model with different features.
Both GNOME and MATE share one thing in common – the car’s engine. As we know from cars, they may share an engine type…but sometimes they’re slightly different models. In this case, our engine is called the GNOME Shell.
When I use the gas pedal, the engine responds. The same thing when I turn the key, the engine responds. And when I hit the brakes, the engine will go into an idle once the car’s at a complete stop. Each component of the car I use (very loosely speaking, obvious exceptions applied here) affects the engine at some level.
Then we have Unity. To use Unity, we need to use an engine lift to remove the existing engine (GNOME Shell), so we can drop in a new engine called Unity. This new engine isn’t really better or faster than your old one. It’s just a different type of engine. This different engine still uses the same gas, brake, radio, AC and other components as it did with the previous engine.
Wait, so what is the Linux kernel in car speak?
Ugh, this is going to be where my entire analogy will get people on edge – but let’s try this.
Add a new muffler? How about new belts, a lift kit and professional grade shocks and struts? This would be your kernel. Each time you upgrade your kernel, your car gets enhancements that make it drive better. Sometimes that upgrade means you’re able to support something it couldn’t previously; like adding a hitch to tow a trailer, for example. That would be like the kernel allowing you to run a hardware device previously out of reach due to incompatibility.
Some will say the Linux kernel is closer to an engine, and normally, I’d be inclined to agree. However, since we’re talking about visible components here…my analogy is better suited for a greater understanding. The single biggest key to this isn’t how close I am in my analogy. It’s whether you understand the difference between GNOME, MATE, and Unity.
By the way, if someone was to install the GNOME desktop on Ubuntu MATE installation, this is on par with dropping the engine from one car manufacturer into another. Sure, I guess it’s sometimes possible…but what would be the point? 🙂
Do you have Linux questions you’d like Matt to help with? Hit the link here and perhaps you too, can Just Ask Matt!
IMO the biggest challenge when installing two different desktop environments on the same system is that their ‘metapackages’ bring along a lot of duplicate functionality - file managers, window managers, and a zillion apps. The result is often a hard to navigate mess.
Gnome-shell / GNOME 3 and the Unity desktop are both considered desktop environments that share a fair amount of GTK3 code underneath. Since I don’t care for either of them, I haven’t tried to install one over another. Due to the Gnome devs bizarre strategy of reusing the GNOME 2 name space there are probably a lot of conflicts - don’t do it!
The ‘classic’ desktops based on GTK have had to change, MATE being the best example. Cinnamon started out as a GNOME 3 ‘shell’ but ended up forking a lot of code and is very independent now. Same duplicate functionality issues will apply, but you can usually run multiple of these DEs on the same system. I’ve run various combinations of XFCE, MATE, LXDE, LXQT and Cinnamon on the same (test) system successfully.
That’s way too easy: Unity and Gnome are two restrictive desktop environments that think that they are running the show, that the user is a moron who should not be allowed to do anything much, and that always according to the way that the developers of those desktops specify - their way or the highway. Mate just states in the background and does what you tell it to do, when you tell it to do it, before going back to the background and staying inconspicuously there until needed once more.
Couple of things. First, Unity isn’t technically a desktop environment - it’s a graphical shell lacking components that would allow it to be a “true” desktop environment…even though it runs on GNOME Shell, which adds to the confusion. 🙂
I do agree however that they are incredibly restrictive. You can see where it gets fuzzy once you add Unity into the mix. GNOME desktop vs MATE or XFCE, etc, would be much easier as you said. Not trying to split hairs, but this needs to be accurate with regard to what Unity is. It’s a shell running on a shell.
Some people like it that way. Or don’t care or don’t know any better. Noobs, especially. Some morons should not be allowed to do anything much. I say fine, if it gets them off of Windows.
I don’t think Skip’s question was ever answered nor are the comments below anymore explanatory.
Here is a description of MATE from their website: It provides an intuitive and attractive desktop environment using traditional metaphors for Linux and other Unix-like operating systems.
MATE is under active development to add support for new technologies while preserving a traditional desktop experience.
I can read that it is a fork of Gnome 2 Which I take to mean that the developers did not like the way things were going with Gnome. So how does operating in the MATE desktop really differ from Gnome? Just saying it is less restrictive hardly helps. What are common functions where this matters? What would you be doing where being restrictive is a problem? What the hell is a traditional metaphor in the MATE desktop for Linux?
So, operationally, if I am sitting down and want to decide which desktop to use, what are the “real” differences? I think this is what Skip really wanted to know. Not what is a desktop environment.