I often come across the terms Unity and GNOME while reading about Ubuntu. I understand that Unity is the default desktop environment for Ubuntu. What is GNOME and how is it related to/different from Unity?
I often come across the terms Unity and GNOME while reading about Ubuntu. I understand that Unity is the default desktop environment for Ubuntu. What is GNOME and how is it related to/different from Unity?
GNOME is a lot of things. Usually, GNOME refers to GNOME Desktop Environment. Quoting the Arch Wiki:
A desktop environment bundles together a variety of X clients to provide common graphical user interface elements such as icons, toolbars, wallpapers, and desktop widgets. Additionally, most desktop environments include a set of integrated applications and utilities.
It is created and maintained by the GNOME foundation. They are the driving force behind a large number of popular applications, as well as the providers of a set of libraries such as GTK, GObject and even a language called Vala, which are used to build the applications in the GNOME DE, and are part of the GNOME project as a whole.
There are two relatively well known versions of GNOME: GNOME2, long since obsolete and dead, and GNOME3, the current version. Ubuntu have tracked GNOME (whichever version was current) for as long as I can remember. You can see GNOME2 in action in Ubuntu 10.04, for example. Once GNOME2 went away, a classic mode variously called GNOME Classic, GNOME Flashback (and possibly other names), with nowhere near the flexibility or customizability of GNOME2 was introduced. It just sort-of looked like GNOME2.
GNOME2 was forked to become MATE. MATE is the closest experience to GNOME2 you can get now, but with feature updates. Ubuntu MATE is now an official flavour.
GNOME3 is what you see when you look at the GNOME website, or when you install Ubuntu GNOME, and is underneath many applications in Ubuntu, and Cinnamon. MATE is adding support for GTK3, the library underneath GNOME3. Typically when end-users speak of GNOME3, they mean GNOME Shell (since that is what you see).
You can think of GNOME as the parent of the Ubuntu default Desktop Environment (DE) (or an uncle, at least). It is the upstream project of many Ubuntu applications.
Ubuntu's default desktop environment uses most of the GNOME applications with a few changes:
Unity and GNOME Shell have a few similarities:
However, I think the similarities end there.
The Ubuntu GNOME distribution uses GNOME except the few cases where applications have been patched (like GNOME Terminal).
Relevant reading: