Ubuntu – Difference between Unity and GNOME


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?

Best Answer

What is GNOME?

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).

How does it relate to Unity?

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 instead of GNOME Shell (up to Ubuntu 17.04)
  • Firefox instead of Web (once called Epiphany)
  • Thunderbird instead of Evolution
  • LibreOffice Write instead of Abiword
  • some patches to GNOME Terminal and Nautilus, I think.
  • Ambiance GTK theme instead of Adwaita
  • and perhaps a few more

Unity and GNOME Shell have a few similarities:

  • A top panel
  • A dock
  • A searchable replacement for the menu system for listing applications.

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:

  1. What is the relationship between Unity, Gnome, Gnome 3, Compiz, Metacity, and LightDM?
  2. What kinds of desktop environments and shells are available?
  3. When installing packages (particularly those with graphical UIs) how do you determine which is fitting for your distribution?
  4. What is the default desktop environment for Ubuntu 13.10?
  5. What is a desktop environment, session and shell?