GNOME Shell

Last updated

GNOME Shell
Developer(s) The GNOME Project
Initial releaseApril 6, 2011;13 years ago (2011-04-06)
Stable release
46.1 [1]   OOjs UI icon edit-ltr-progressive.svg / 21 April 2024;6 days ago (21 April 2024)
Repository gitlab.gnome.org/GNOME/gnome-shell
Written in C and JavaScript [2] [3]
Operating system BSD, Linux, Unix
Available in75 languages [4]
List of languages
Afrikaans, Arabic, Aragonese, Assamese, Asturian, Basque, Belarusian, Bengali, Bosnian, Brazilian Portuguese, British English, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, Esperanto, Estonian, Finnish, French, Friulian, Galician, German, Greek, Gujarati, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Interlingua, Irish, Italian, Japanese, Kannada, Kazakh, Khmer, Kirghiz, Korean, Kurdish, Latvian, Lithuanian, Macedonian, Malay, Malayalam, Marathi, Nepali, Norwegian Bokmål, Norwegian Nynorsk, Occitan, Oriya, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Scottish Gaelic, Serbian, Serbian Latin, Sinhala, Slovak, Slovenian, Spanish, Swedish, Tajik, Tamil, Telugu, Thai, Turkish, Uighur, Ukrainian, Uzbek (Cyrillic), Vietnamese
Type
License GPL-2.0-or-later
Website wiki.gnome.org/Projects/GnomeShell

GNOME Shell is the graphical shell of the GNOME desktop environment starting with version 3, [5] which was released on April 6, 2011. It provides basic functions like launching applications and switching between windows, and is also a widget engine. GNOME Shell replaced GNOME Panel [6] and some ancillary components of GNOME 2.

Contents

GNOME Shell is written in C and JavaScript as a plugin for Mutter.

In contrast to the KDE Plasma Workspaces, a software framework intended to facilitate the creation of multiple graphical shells for different devices, the GNOME Shell is intended to be used on desktop computers with large screens operated via keyboard and mouse, as well as portable computers with smaller screens operated via their keyboard, touchpad or touchscreen.

History

The first concepts for GNOME Shell were created during GNOME's User Experience Hackfest 2008 in Boston. [7] [8] [9]

After criticism of the traditional GNOME desktop and accusations of stagnation and lacking vision, [10] the resulting discussion led to the announcement of GNOME 3.0 in April 2009. [11] Since then Red Hat has been the main driver of GNOME Shell's development. [12]

Pre-release versions of GNOME Shell were first made available in August 2009 [13] and became regular, non-default part of GNOME in version 2.28 in September 2009. [14] It was finally shipped as GNOME's default user interface on April 6, 2011. [15] [16]

Design

As graphical shell (graphical front-end/graphical shell/UX/UI) of the GNOME desktop environment, its design is guided by the GNOME UX Design Team. [17]

Design components

GNOME Shell.png
1
2
3
4
5
6
7
GNOME Shell Overview mode
1
Activities button
2
Dash
3
Search bar
4
Notifications and messaging tray
5
System status area
6
Workspace list
7
Indicators tray

The GNOME Shell comprises the following graphical and functional elements: [18]

Software architecture

GNOME Wiki
Searchtool.svg Projects/GnomeShell/Technology

GNOME Shell is tightly integrated with Mutter, a compositing window manager and Wayland compositor. It is based upon Clutter to provide visual effects and hardware acceleration. [20] According to GNOME Shell maintainer [21] Owen Taylor, it is set up as a Mutter plugin largely written in JavaScript [22] and uses GUI widgets provided by GTK+ version 3.

Features

Changes to the user interface (UI) include, but are not limited to:

Extensibility

The functionality of GNOME Shell can be changed with extensions, which can be written in JavaScript. Users can find and install extensions using the GNOME extensions website. Some of these extensions are hosted in GNOME's git repository, though they are not official. [27]

Adoption

Reception

GNOME Shell has received mixed reviews: it has been criticized for a variety of reasons, mostly related to design decisions and reduced user control over the environment. For example, users in the free software community have raised concerns that the planned tight integration with Mutter will mean that users of GNOME Shell will not be able to switch to an alternative window manager without breaking their desktop. In particular, users might not be able to use Compiz with GNOME Shell while retaining access to the same types of features that older versions of GNOME allowed. [40]

Reviews have generally become more positive over time, with upcoming releases addressing many of the annoyances reported by users. [41] [42]

See also

Related Research Articles

<span class="mw-page-title-main">Common Desktop Environment</span> Desktop environment for Unix, Unix-like, and OpenVMS operating systems

The Common Desktop Environment (CDE) is a desktop environment for Unix and OpenVMS, based on the Motif widget toolkit. It was part of the UNIX 98 Workstation Product Standard, and was for a long time the Unix desktop associated with commercial Unix workstations. It helped to influence early implementations of successor projects such as KDE and GNOME, which largely replaced CDE following the turn of the century.

In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphical shell. The desktop environment was seen mostly on personal computers until the rise of mobile computing. Desktop GUIs help the user to easily access and edit files, while they usually do not provide access to all of the features found in the underlying operating system. Instead, the traditional command-line interface (CLI) is still used when full control over the operating system is required.

<span class="mw-page-title-main">Xfce</span> Desktop environment

Xfce or XFCE is a free and open-source desktop environment for Linux and other Unix-like operating systems.

<span class="mw-page-title-main">GNOME Files</span> File manager

GNOME Files, formerly and internally known as Nautilus, is the official file manager for the GNOME desktop. Nautilus was originally developed by Eazel with many luminaries from the tech world including Andy Hertzfeld (Apple), chief architect for Nautilus. The nautilus name was a play on words, evoking the shell of a nautilus to represent an operating system shell. Nautilus replaced Midnight Commander in GNOME 1.4 (2001) and has been the default file manager from version 2.0 onwards.

<span class="mw-page-title-main">Ubuntu</span> Linux distribution developed by Canonical

Ubuntu is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in multiple editions: Desktop, Server, and Core for Internet of things devices and robots. The operating system is developed by the British company Canonical, and a community of other developers, under a meritocratic governance model. As of April 2024, the most-recent release is and the current long-term support release is 24.04.

<span class="mw-page-title-main">GNOME Terminal</span> Terminal emulator from GNOME

GNOME Terminal is a terminal emulator for the GNOME desktop environment written by Havoc Pennington and others. Terminal emulators allow users to access a UNIX shell while remaining on their graphical desktop.

<span class="mw-page-title-main">Xubuntu</span> Linux distribution based on Ubuntu, utilizing the Xfce desktop environment

Xubuntu is a Canonical Ltd.–recognized, community-maintained derivative of the Ubuntu operating system. The name Xubuntu is a portmanteau of Xfce and Ubuntu, as it uses the Xfce desktop environment, instead of Ubuntu's customized GNOME desktop.

<span class="mw-page-title-main">Compiz</span> Compositing window manager for the X Window System

Compiz is a compositing window manager for the X Window System, using 3D graphics hardware to create fast compositing desktop effects for window management. Effects, such as a minimization animation or a cube workspace, are implemented as loadable plugins. Because it conforms to the ICCCM conventions, Compiz can be used as a substitute for the default Mutter or Metacity, when using GNOME Panel, or KWin in KDE Plasma Workspaces. Internally Compiz uses the OpenGL library as the interface to the graphics hardware.

A desktop environment is a collection of software designed to give functionality and a certain look and feel to an operating system.

<span class="mw-page-title-main">GNOME Panel</span> Taskbar implementation for the GNOME desktop environment

GNOME Panel is a highly configurable taskbar for GNOME. It formed a core part of the desktop in GNOME 1 and GNOME 2. It has been replaced in GNOME 3 by default with GNOME Shell, which only works with the Mutter window manager.

<span class="mw-page-title-main">Linux Mint</span> Ubuntu-based Linux distribution

Linux Mint is a community-driven Linux distribution based on Ubuntu, bundled with a variety of free and open-source applications. It can provide full out-of-the-box multimedia support for those who choose to include proprietary software such as multimedia codecs. Compared to Ubuntu, it uses the Cinnamon interface in the most popular edition, using a different, more traditional layout that can be customized by dragging the applets and creating panels. New applets can also be downloaded.

<span class="mw-page-title-main">Ubuntu version history</span> History of the Ubuntu operating system

Ubuntu releases are made semiannually by Canonical Ltd, its developers, using the year and month of the release as a version number. The first Ubuntu release, for example, was Ubuntu 4.10 and was released on 20 October 2004. Consequently, version numbers for future versions are provisional; if the release is delayed until a different month than planned, the version number will change accordingly.

<span class="mw-page-title-main">GNOME 3</span> Third major release of GNOME

GNOME 3 is the third major release of the GNOME desktop environment. A major departure from technologies implemented by its predecessors, GNOME 3 introduced a dramatically different user interface. It was the first GNOME release to utilize a unified graphical shell known as GNOME Shell. It also introduced support for the Wayland display protocol and added integration with other key technologies such as Flatpak during its development lifecycle.

<span class="mw-page-title-main">Lubuntu</span> Linux distribution based on Ubuntu, utilizing the LXQt desktop environment

Lubuntu is a lightweight Linux distribution based on Ubuntu that uses the LXQt desktop environment in place of GNOME. Lubuntu was originally touted as being "lighter, less resource hungry and more energy-efficient", but now aims to be "a functional yet modular distribution focused on getting out of the way and letting users use their computer".

<span class="mw-page-title-main">GNOME</span> Desktop environment for Linux and other Unix-like systems

GNOME, originally an acronym for GNU Network Object Model Environment, is a free and open-source desktop environment for Linux and other Unix-like operating systems.

<span class="mw-page-title-main">Unity (user interface)</span> Graphical user interface for Ubuntu

Unity is a graphical shell for the GNOME desktop environment originally developed by Canonical Ltd. for its Ubuntu operating system. It debuted in 2010 in the netbook edition of Ubuntu 10.10 and was used until Ubuntu 17.10. Since 2017, its development was taken over by the Unity7 Maintainers (Unity7) and UBports.

Mutter is a window manager initially designed and implemented for the X Window System, but then evolved to be a Wayland compositor. It became the default window manager in GNOME 3, replacing Metacity which used GTK for rendering.

<span class="mw-page-title-main">Cinnamon (desktop environment)</span> Desktop environment

Cinnamon is a free and open-source desktop environment for Linux and other Unix-like operating systems, which was originally based on GNOME 3, but follows traditional desktop metaphor conventions.

<span class="mw-page-title-main">Ubuntu GNOME</span> Discontinued Linux distribution based on Ubuntu, utilizing the GNOME 3 desktop environment

Ubuntu GNOME is a discontinued Linux distribution, distributed as free and open-source software. It used a pure GNOME 3 desktop environment with GNOME Shell, rather than the Unity graphical shell. Starting with version 13.04 it became an official "flavour" of the Ubuntu operating system.

<span class="mw-page-title-main">Ubuntu Budgie</span> Derivative of the Ubuntu operating system, utilizing the Budgie desktop environment

Ubuntu Budgie is an official community flavor of Ubuntu. It combines the Ubuntu-based system with the independently developed Budgie desktop environment.

References

  1. "46.1". April 21, 2024. Retrieved April 22, 2024.
  2. "GNOME 3 Myths: GNOME 3.0 depends on Mono!", GNOME Live!, archived from the original on April 8, 2016, retrieved December 19, 2010
  3. "GNOME/gnome-shell". GitHub . Archived from the original on October 27, 2017. Retrieved March 4, 2017. C: 48.9%; JavaScript: 47.6%.
  4. Module Statistics: gnome-shell, archived from the original on April 4, 2018, retrieved February 14, 2011
  5. "Planning for GNOME 3.0", GNOME Live!, archived from the original on October 3, 2016, retrieved March 23, 2011
  6. Sharma, Apoorva (March 23, 2010), "Why does Gnome-shell replace the current gnome-panel", gnome-shell-list mailing list, archived from the original on January 25, 2018, retrieved August 18, 2012
  7. "My glimpse at Gnome-Shell". Mad for Ubuntu. Archived from the original on May 23, 2010.
  8. "User Experience Hackfest". GNOME. October 14, 2008. Archived from the original on August 1, 2020. Retrieved March 12, 2013.
  9. "Timeline: The Greatest Show on Earth". Be the signal. March 15, 2011. Archived from the original on May 17, 2011. Retrieved March 12, 2013.
  10. "gnome in the age of decadence". wingolog. June 7, 2008. Archived from the original on February 10, 2013. Retrieved March 12, 2013.
  11. "Planning for GNOME 3.0". April 2, 2009. Archived from the original on March 7, 2012. Retrieved March 12, 2013.
  12. Matthew Garrett (mjg59) wrote, October 26, 2010 18:39:00 (October 26, 2010). "mjg59: Fun facts". Mjg59.livejournal.com. Archived from the original on May 5, 2012. Retrieved March 12, 2013.{{cite web}}: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link)
  13. "ftp.gnome.org". Ftp.accum.se. Archived from the original on December 17, 2022. Retrieved March 12, 2013.
  14. "GNOME 2.28 Release Notes". GNOME. Archived from the original on October 16, 2009. Retrieved March 12, 2013.
  15. "GNOME 2.91.x Development Series". GNOME. March 24, 2011. Archived from the original on January 6, 2014. Retrieved March 12, 2013.
  16. "GNOME 3.0 with GNOME Shell officially launched | ITProPortal.com". Thinq.co.uk. Archived from the original on December 27, 2011. Retrieved March 12, 2013.
  17. "GNOME UX Design Team". Archived from the original on December 26, 2014. Retrieved November 13, 2014.
  18. "GNOME Shell Design". Archived from the original on March 16, 2014. Retrieved May 21, 2014.
  19. "Update StatusNotifierItem/systemtray spec (#84) · Issues · xdg / xdg-specs · GitLab". GitLab. Retrieved February 12, 2023.
  20. Kissling, Kristian (July 8, 2009), "Mutter: Window Manager in GNOME's Future", Linux Pro Magazine, archived from the original on October 12, 2018, retrieved March 23, 2011
  21. Cutler, Paul (July 1, 2009), Behind the Scenes with Owen Taylor, archived from the original on October 26, 2016, retrieved January 16, 2016
  22. Taylor, Owen (March 23, 2009), "Metacity, Mutter, GNOME Shell, GNOME-2.28", desktop-devel-list mailing list, archived from the original on March 16, 2012, retrieved August 18, 2012, gnome-shell is set up as a Mutter plugin that is largely written in JavaScript
  23. "Mutter 3.13.4 release". Archived from the original on August 9, 2014. Retrieved July 26, 2014.
  24. "GNOME Shell 3.13.4". Archived from the original on August 9, 2014. Retrieved July 26, 2014.
  25. Ljubunčić, Igor (April 6, 2011), Gnome 3 Fallback mode - Get your productivity back, Dedoimedo, archived from the original on November 11, 2011, retrieved November 25, 2011
  26. "GNOME 3.7: what is happening now | Goings on". GNOME. December 5, 2012. Archived from the original on December 9, 2012. Retrieved March 12, 2013.
  27. "Extensions", GNOME Live!, archived from the original on July 17, 2014, retrieved November 25, 2011
  28. Bîru, Ionuț Mircea (April 30, 2011), "GNOME3 in extra", Arch Linux , archived from the original on January 3, 2012, retrieved December 4, 2011
  29. Releases/15/FeatureList, Fedora Project, archived from the original on April 24, 2013, retrieved November 25, 2011
  30. Portal:12.1, OpenSuSE Project, archived from the original on June 1, 2011, retrieved November 25, 2011
  31. "Release Notes", Mageia Wiki, March 7, 2012, archived from the original on March 14, 2013, retrieved March 24, 2012
  32. "/ packages / sid (unstable) / gnome / gnome-shell", Debian, archived from the original on May 2, 2012, retrieved July 10, 2012
  33. "/ packages / wheezy (testing) / gnome / gnome-shell", Debian, archived from the original on July 9, 2012, retrieved July 10, 2012
  34. "Oracle Solaris 11.4 Officially Released - Phoronix". www.phoronix.com. Archived from the original on June 27, 2020. Retrieved June 25, 2020.
  35. Coopersmith, Alan. "Using GNOME 3 in Oracle Solaris 11.4". Oracle Solaris Blog. Archived from the original on August 1, 2020. Retrieved June 25, 2020.
  36. "GNOME is now the Default Desktop in Ubuntu 17.10 Daily Builds". June 7, 2017. Archived from the original on July 19, 2017. Retrieved July 13, 2017.
  37. "OneiricOcelot/ReleaseNotes - Ubuntu Wiki", Ubuntu Wiki, archived from the original on December 23, 2011, retrieved April 18, 2012
  38. Andrew (October 19, 2012). "Prefer GNOME Shell? Download Ubuntu GNOME Remix 12.10 ~ Web Upd8: Ubuntu / Linux blog". Webupd8.org. Archived from the original on March 10, 2013. Retrieved March 12, 2013.
  39. "Introduction to Ubuntu GNOME". Archived from the original on October 15, 2016. Retrieved April 27, 2013.
  40. Taylor, Owen (March 24, 2009), "Re: Metacity, Mutter, GNOME Shell, GNOME-2.28", desktop-devel-list mailing list, archived from the original on August 31, 2012, retrieved August 18, 2012
  41. Wallen, Jack (March 28, 2014). "GNOME 3.10 has resurrected what was once the darling of the Linux desktop". TechRepublic. Archived from the original on March 28, 2014.
  42. Matt Hartley, Chris Fisher (January 5, 2014). "In Defense of Gnome 3". Linux Action Show . Jupiter Broadcasting. Archived from the original on March 13, 2014. Retrieved April 2, 2014.