GNOME

This article is about the GNOME desktop environment. For other uses, see Gnome (disambiguation).
GNOME

GNOME 3.18.2 showing the Overview
Developer(s) The GNOME Project
Initial release March 3, 1999 (1999-03-03)[1]
Stable release 3.22.2 (9 November 2016 (2016-11-09)[2]) [±]
Preview release 3.23.2 (23 November 2016 (2016-11-23)[3]) [±]
Repository git.gnome.org/browse/
Development status Active
Written in C, C++, Vala, Python, JavaScript[4]
Operating system Unix-like using Wayland or X11
Available in 40 languages[5]
Type Desktop environment
License GPL, LGPL[6]
Website www.gnome.org

GNOME (pronounced /ɡˈnm/[7] or /ˈnm/[8]) is a desktop environment that is composed entirely of free and open-source software. GNOME was originally an acronym for GNU Network Object Model Environment. Its target operating system is Linux, but it is also supported on most derivatives of BSD.[9]

GNOME is developed by The GNOME Project, which is composed of both volunteers and paid contributors, the largest corporate contributor being Red Hat.[10][11] It is an international project that aims to develop software frameworks for the development of software, to program end-user applications based on these frameworks, and to coordinate efforts for internationalization and localization and accessibility of that software.

GNOME is part of the GNU Project.[12]

Design

Human Interface Guidelines

Since GNOME 2, productivity has been a key focus for GNOME. To this end, the GNOME Human Interface Guidelines (HIG) were created. All GNOME programs share a coherent style of graphical user interface (GUI) but are not limited to the employment of the same GUI widgets. Rather, the design of the GNOME GUI is guided by concepts described in the GNOME HIG, itself relying on insights from cognitive ergonomics.[13] Following the HIG, developers can create high-quality, consistent, and usable GUI programs, as it addresses everything from GUI design to recommended pixel-based layout of widgets.

During the GNOME 2 rewrite, many settings deemed of little value to the majority of users were removed. Havoc Pennington summarized the usability work in his 2002 essay "Free Software UI", emphasizing the idea that all preferences have a cost, and it is better to make software behave correctly by default than to add a UI preference to get the desired behavior:

A traditional free software application is configurable so that it has the union of all features anyone's ever seen in any equivalent application on any other historical platform. Or even configurable to be the union of all applications that anyone's ever seen on any historical platform (Emacs *cough*).
Does this hurt anything? Yes it does. It turns out that preferences have a cost. Of course, some preferences also have important benefits – and can be crucial interface features. But each one has a price, and you have to carefully consider its value. Many users and developers don't understand this, and end up with a lot of cost and little value for their preferences dollar.

Accessibility

GNOME aims to make and keep the desktop environment physically and cognitively ergonomic for people with disabilities. The GNOME HIG tries to take this into account as far as possible but specific issues are solved by special software.

GNOME addresses computer accessibility issues by using the Accessibility Toolkit (ATK) application programming interface, which allows enhancing user experience by using special input methods and speech synthesis and speech recognition software. Particular utilities are registered with ATK using Assistive Technology Service Provider Interface (AT-SPI), and become globally used throughout the desktop. Several assistive technology providers, including Orca screen reader and Dasher input method, were developed specifically for use with GNOME.

GNOME Shell

1
2
3
4
5
6
GNOME Shell Overview mode
1
Activities button
2
Dash
3
Notification area
4
Search bar
5
Status menu
6
Workspace list

GNOME Shell is the official user interface of the GNOME desktop environment. It features a top bar holding (from left to right) an Activities button, an application menu, a clock and an integrated system status menu.[15][16] The application menu displays the name of the application in focus and provides access to functions such as accessing the application's preferences, closing the application, or creating a new application window. The status menu holds various system status indicators, shortcuts to system settings, and session actions including logging out, switching users, locking the screen, and suspending the computer.

Clicking on the Activities button, moving the mouse to the top-left hot corner or pressing the Super key brings up the Overview.[17] The Overview gives users an overview of current activities and provides a way to switch between windows and workspaces and to launch applications. The Dash on the left houses shortcuts to favorite applications and open windows and an application picker button to show a list of all installed applications.[15] A search bar appears at the top and a workspace list for switching between workspaces is on the right. Notifications appear from the bottom of the screen.[18]

GNOME 3 Classic Mode

Beginning with GNOME 3.8, GNOME provides a Classic Mode for those who prefer a traditional desktop experience (similar to GNOME 2).[19]

Compatibility

For Linux distributions using GNOME, see Comparison of Linux distributions.

GNOME runs on the X Window System and as of GNOME 3.10 also on Wayland as of GNOME 3.22 Wayland is the default.[16] Versions of GNOME are available in most Linux distributions either as the default desktop environment or as an installable option and also in the ports collections of most BSDs.

In May 2011 Lennart Poettering proposed systemd as a GNOME dependency.[20] As systemd is available only on Linux, the proposal led to a discussion of possibly dropping support for other platforms in future GNOME releases. Since GNOME 3.2 multiseat support has been only available on systems using systemd.[21] In November 2012 the GNOME release team concluded that systemd can be relied upon for non-basic functionality.[22]

Applications

Core Applications

There are a large number of GTK+- and Clutter-based programs written by various authors. Since the release of GNOME 3.0, The GNOME Project concentrates on developing a set of programs that accounts for the GNOME Core Applications. The commonalities of the GNOME Core Applications are the adherence to the current GNOME HUD guidelines as well as the tight integration with underlying GNOME layers like e.g. GVfs and also with one another e.g. GOA (gnome-online-accounts)[23] settings and GNOME Files with Google Drive[24][25] and GNOME Photos with Google Photos. Some programs are simply renamed existing programs with a revamped user interface, while others have been written from scratch.

Games

Main article: GNOME Games

GNOME Games have the look and feel of the GNOME Core Applications and are released simultaneously with GNOME. All have been rewritten conforming to the current GNOME Human Interface Guidelines.

Development Tools

Software has been written to provide development tools consistent with the GNOME desktop and to facilitate the development of GNOME software:

GNOME Builder is the new integrated development environment, Anjuta is the older one. Glade Interface Designer is the software to construct graphical interfaces using the graphical control elements in GTK+. Devhelp is an API browser, Accerciser an accessibility explorer, and there are several debugging tools, including Nemiver, GtkInspector[26][27] and Alleyoop, have also been provided to facilitate development of GNOME software.

Integration options for third-party development tools (e.g. NoFlo) also exist.[28]

Development

GNOME is developed by The GNOME Project and provides the GNOME Desktop Environment, a graphical user interface and a set of core applications, and the GNOME Development Platform, a framework for building applications that integrate with the desktop.[29]

As with most free software projects, GNOME development is loosely managed. Discussion chiefly occurs on a number of public mailing lists.[30] GNOME developers and users gather at an annual GUADEC meeting to discuss the current state and the future direction of GNOME.[31] GNOME incorporates standards and programs from freedesktop.org to better interoperate with other desktops.

GNOME is mainly written in C, C++, Vala, Python and JavaScript.[4] A number of language bindings are available.

Release cycle

Each of the component software products in the GNOME project has its own version number and release schedule. However, individual module maintainers coordinate their efforts to create a full GNOME stable release on an approximately six-month schedule, alongside its underlying libraries such as GTK+ and GLib. Some experimental projects are excluded from these releases.

GNOME version numbers follow the scheme v.xx.yy. Here, v is a major version, which can include large changes such as ABI breakage; these have no regular schedule and occur in response to requirements for large-scale changes. xx is a minor version, released on the above schedule of approximately every 6 months, in which the 1- or 2-digit number's parity indicates the type of release: if xx is even (e.g. 3.20) the release is considered stable, whereas if xx is odd it represents a current development snapshot (e.g. 3.21) that will eventually evolve into the next stable release. yy indicates a point release, e.g. 3.20.6; these are made on a frequency of weeks in order to fix issues, add non-breaking enhancements, etc.

GNOME releases are made to the main FTP server in the form of source code with configure scripts, which are compiled by operating system vendors and integrated with the rest of their systems before distribution. Most vendors use only stable and tested versions of GNOME, and provide it in the form of easily installed, pre-compiled packages. The source code of every stable and development version of GNOME is stored in the GNOME git source code repository. Interested users can always obtain a snapshot of the _master_ development branch or any other branch/tag and build a cutting-edge version for their own use.

A number of build-scripts (such as JHBuild or formerly GARNOME) are available to help automate the process of compiling the source code.

Development platform

The GLib data structures and utilities library, GObject object and type system and GTK+ widget toolkit comprise the central part of GNOME development platform. This foundation is further extended with D-Bus IPC framework, Cairo 2D vector-based drawing library, Clutter accelerated graphics library, Pango international text rendering library, PulseAudio low-level audio API, GStreamer multimedia framework, and several specialized libraries including NetworkManager, PackageKit, Telepathy (instant messaging) and WebKit.[32]

The GNOME desktop environment does not consist solely of the graphical control element library GTK+ and the core applications that make use of it. There are quite a few additional software packages that make up the GNOME desktop environment, such as the above.

History

GNOME 1, 1999

GNOME was started on August 15[33] 1997 by Miguel de Icaza and Federico Mena[34] as a free software project to develop a desktop environment and applications for it.[35] It was founded in part because K Desktop Environment, an already existing free software desktop environment, relied on the Qt widget toolkit which used a proprietary software license until version 2.0 (June 1999).[36][37] In place of Qt, the GTK+ toolkit was chosen as the base of GNOME. GTK+ uses the GNU Lesser General Public License (LGPL), a free software license that allows software linking to it to use a much wider set of licenses, including proprietary software licenses.[38] GNOME itself is licensed under the LGPL for its libraries, and the GNU General Public License (GPL) for its applications.[39]

The name "GNOME" was initially an acronym of GNU Network Object Model Environment, referring to the original intention of creating a distributed object framework similar to Microsoft's OLE,[40] but the acronym was eventually dropped because it no longer reflected the vision of the GNOME project.[41]

The California startup Eazel developed the Nautilus file manager from 1999 to 2001. De Icaza and Nat Friedman founded Helix Code (later Ximian) in 1999 in Massachusetts; this company developed GNOME's infrastructure and applications, and in 2003 was purchased by Novell.

During the transition to GNOME 2 around the year 2001 and shortly thereafter there were brief talks about creating a GNOME Office suite.[42][43] On September 15, 2003 GNOME-Office 1.0, consisting of AbiWord 2.0, GNOME-DB 1.0 and Gnumeric 1.2.0 was released.[44][45][46] Although some release planning for GNOME Office 1.2 was happening on gnome-office mailing list,[47][48][49] and Gnumeric 1.4 was announced as a part of it,[50] the 1.2 release of the suite itself was never announced. As of May 4, 2014 GNOME wiki only mentions "GNOME/Gtk applications that are useful in an office environment".[51]

GNOME 2.0, June 2002

GNOME 2

GNOME 2 was very similar to a conventional desktop interface, featuring a simple desktop in which users could interact with virtual objects, such as windows, icons, and files. GNOME 2 used Metacity as its default window manager. The handling of windows, applications, and files in GNOME 2 is similar to that of contemporary desktop operating systems. In the default configuration of GNOME 2, the desktop has a launcher menu for quick access to installed programs and file locations; open windows may be accessed by a taskbar along the bottom of the screen, and the top-right corner features a notification area for programs to display notices while running in the background. However, these features can be moved to almost any position or orientation the user desires, replaced with other functions or removed altogether.

GNOME 3

Previously GNOME used the traditional desktop metaphor, but in GNOME 3 this was replaced with GNOME Shell, a more abstract metaphor where switching between different tasks and virtual workspaces takes place in a separate area called Overview. Also, since Mutter replaced Metacity as the default window manager, the minimize and maximize buttons no longer appear on the titlebar by default. Adwaita replaced Clearlooks as the default theme.[52] Many GNOME Core Applications also went through redesigns to provide a more consistent user experience.

These major changes initially evoked widespread criticism. The MATE desktop environment forked from the GNOME 2 codebase with the intent of retaining the traditional GNOME 2 interface while keeping it compatible with modern Linux technology, such as GTK+ 3. The Linux Mint team addressed the issue in another way by developing the "Mint GNOME Shell Extensions" that ran on top of GNOME 3 and allowed it to be used via the traditional desktop metaphor. This eventually led to the creation of the Cinnamon user interface, which was forked from the GNOME 3 codebase.

As of 2015, critical reception has been much more positive.[53] For example, Debian, a Linux distribution that had historically used GNOME 2, switched to Xfce when GNOME 3 was released but readopted GNOME 3 in time for the release of Debian 8 "Jessie".[53][54] Furthermore, Linus Torvalds, the creator of the Linux kernel, switched back to GNOME 3 in 2013, stating that "with the right extensions it is more pleasant".[53]

In March 2016, the GNOME Project released GNOME 3.20, providing bug fixes as well as new major features.[55]

Opinions by Linus Torvalds

In 2005, on the official GNOME developmental mailing lists, Linus Torvalds encouraged users to switch to KDE 3 rather than use GNOME.[56][57] However, later Torvalds thought KDE Plasma 4 was a "disaster" because of its lack of maturity, and so he had switched to GNOME by 2009.[58] Dissatisfied with his perceived loss of productivity, he switched to Xfce after the GNOME 3 release, making another harsh post against GNOME.[59]

The following year he tried KDE Plasma 4 again,[60] only to go back to GNOME 3 stating that it "has been getting less painful" and "things are better than a year ago",[61] suggesting Frippery and gnome-tweak-tool to be merged into GNOME.[62]

Releases

See also

References

  1. 1 2 "GNOME 1.0 Released" (Press release). San Jose, California: The GNOME Project. March 3, 1999. Retrieved January 11, 2016.
  2. Clasen, Matthias (21 September 2016). "GNOME 3.22". gnome-announce-list (Mailing list). Retrieved 21 September 2016.
  3. Clasen, Matthias (21 September 2016). "GNOME 3.22". gnome-announce-list (Mailing list). Retrieved 21 September 2016.
  4. 1 2 "GNOME Languages". Ohloh. Black Duck Software. Retrieved May 22, 2014.
  5. Day, Allan. "GNOME 3.12 Release Notes". The GNOME Project. Retrieved May 22, 2014.
  6. "Window Managers for X: GNOME".
  7. "Introducing GNOME 3.12". You Tube (video). Google. March 26, 2014. Retrieved July 2, 2014.
  8. Clinton, Jason D. (April 2, 2011). "GNOME 3: Fewer interruptions". The GNOME Project (video). YouTube. Retrieved April 7, 2011.
  9. Clasen, Matthias (February 19, 2014). "Portability of the GNOME desktop environment". Retrieved March 18, 2014.
  10. GNOME census (PDF), Neary.
  11. "Staring into the abyss". Gnome. July 27, 2012. Retrieved March 15, 2014.
  12. "GNU Software". Free Software Foundation. Retrieved June 16, 2014.
  13. "GNOME Human Interface Guidelines".
  14. Pennington, Havoc (April 2002). "Free Software UI". Retrieved December 4, 2011.
  15. 1 2 "Terminology for Gnome Shell". GNOME Wiki. The GNOME Project. Retrieved May 22, 2014.
  16. 1 2 Day, Allan. "GNOME 3.10 Release Notes". The GNOME Project. Retrieved May 22, 2014.
  17. "GNOME 3 Cheat Sheet". GNOME Wiki. The GNOME Project. Retrieved June 13, 2014.
  18. "GNOME Shell Design". The GNOME Project. Retrieved December 3, 2011.
  19. Day, Allan. "GNOME 3.8 Release Notes". The GNOME Project. Retrieved June 13, 2014.
  20. Poettering, Lennart (May 18, 2011). "systemd as external dependency". desktop-devel (Mailing list). Retrieved June 12, 2014.
  21. 1 2 Vitters, Olav; Klapper, André; Day, Allan. "GNOME 3.2 Release Notes". The GNOME Project. Retrieved October 5, 2011.
  22. Peters, Frederic (November 6, 2012). "20121104 meeting minutes". release-team (Mailing list). Retrieved June 12, 2014.
  23. "GNOME wiki: GnomeOnlineAccounts".
  24. "GNOME 3.18 Will Let You Access Your Google Drive Files in Nautilus". 2015-09-30.
  25. "GNOME 3.18 lands with Google Drive". 2015-09-30.
  26. Matthias Clasen (May 15, 2014). "GtkInspector Author's blog entry". Retrieved May 17, 2014.
  27. "GtkInspector in GNOME wiki". May 15, 2014. Retrieved May 17, 2014.
  28. "Bergius: Flowhub and the GNOME Developer Experience". LWN.net. May 2, 2014. Retrieved May 24, 2014.
  29. "GNOME Quick SWOT Analysis". The GNOME Project. Retrieved March 18, 2014.
  30. "GTK+ and GNOME Mailing Lists". The GNOME Project. Retrieved December 4, 2011.
  31. "About". GUADEC. Retrieved December 3, 2011.
  32. Bull, Phil. "Platform libraries". The GNOME Project. Retrieved May 21, 2014.
  33. de Icaza, Miguel (1997-08-15). "The GNOME Desktop project.". mail.gnome.org. Retrieved 2015-08-11.
  34. "About Us | GNOME". Retrieved December 9, 2011.
  35. "The GNOME Desktop project (fwd)". Retrieved December 10, 2011.
  36. Announcement: Qt version 2.0 released, June 25, 1999, archived from the original on March 9, 2000, retrieved April 16, 2014
  37. Stallman, Richard Stallman (September 5, 2000). "Stallman on Qt, the GPL, KDE, and GNOME". Retrieved September 9, 2005.
  38. "Why you shouldn't use the Lesser GPL for your next library". Free Software Foundation. Retrieved January 20, 2008.
  39. The GNOME Project: "GNOME Foundation Guidelines on Copyright Assignment". Accessed March 26, 2013. Archived March 4, 2012, at the Wayback Machine.
  40. Pennington, Havoc (1999). "GTK+ / Gnome Application Development". Archived from the original on July 11, 2010. |chapter= ignored (help)
  41. "Re: GNOME -> Gnome". Retrieved December 10, 2011.
  42. Gowin, John (November 9, 2001). "GNOME Office, how far along are we?". Linux Orbit. Archived from the original on January 1, 2005.
  43. TH, Sam (April 10, 2001). "GUADEC Results". gnome-office-list (Mailing list). LWN.net. Retrieved May 3, 2014.
  44. Loli, Eugenia (September 15, 2003). "GNOME-Office 1.0 Released; Nautilus Becomes Object-Oriented". OSNews. Retrieved May 4, 2014.
  45. Esselbach, Philipp (September 15, 2003). "GNOME-Office 1.0 Released". Linux Compatible. Retrieved May 4, 2014.
  46. "GNOME-Office 1.0 Released" (Press release). September 15, 2003. Retrieved May 4, 2014.
  47. Sevior, Martin (June 30, 2004). "Next GNOME-Office release". gnome-office-list (Mailing list). Retrieved May 4, 2014.
  48. Sevior, Martin (July 30, 2004). "Update on progress for GNOME-Office-1.2". gnome-office-list (Mailing list). Retrieved May 4, 2014.
  49. Sevior, Martin (October 2, 2004). "Three weeks until gnome-office-1.2, what progress on the website?". gnome-office-list (Mailing list). Retrieved May 4, 2014.
  50. Welinder, Morten (December 19, 2004). "Gnumeric 1.4 is Here!". gnome-office-list (Mailing list). Retrieved May 4, 2014.
  51. "Office Applications". The GNOME Project. Retrieved May 4, 2014.
  52. "A new default theme for GTK+". blogs.gnome.org. Retrieved 24 December 2014.
  53. 1 2 3 Hoffman, Chris. "How GNOME 3.14 is winning back disillusioned Linux users". PC World. IDG TechNetwork. Retrieved 5 April 2015.
  54. Tozzi, Christopher. "Open Source GNOME 3 Desktop Environment Wins Back Fans". The VAR Guy. Penton. Retrieved 5 April 2015.
  55. "GNOME 3.20 Released: Major New Features, Many Refinements". gnome.org. The GNOME Project. March 23, 2016. Retrieved March 23, 2016.
  56. "Printing dialog and GNOME". Mail.gnome.org. Retrieved March 13, 2010.
  57. "Linus versus GNOME". Desktoplinux.com. February 23, 2007. Retrieved March 13, 2010.
  58. Gedda, Rodney (January 22, 2009). "Q&A: Linux founder Linus Torvalds talks about open-source identity". Computerworld. Retrieved April 24, 2012. it was a half-baked release (...) I'll revisit it when I reinstall the next machine
  59. "Linus Torvalds Ditches GNOME 3 For Xfce - Slashdot". Linux.slashdot.org. August 3, 2011. Retrieved June 19, 2013.
  60. Torvalds, Linus. "Linus Torvalds' post (02/11/2012)". Retrieved November 2, 2012.
  61. "Torvalds: I want to be nice, and curse less, but it's just not in me". The Register. November 7, 2012. Retrieved January 2, 2013.
  62. Heath, Nick (March 4, 2013). "Linus Torvalds switches back to Gnome 3.x desktop". ZDNet. Retrieved June 19, 2013.
  63. de Icaza, Miguel. "The story of the GNOME project".
  64. "GNOME 1.2 "Bongo GNOME" Unleashed" (Press release). The GNOME Project. May 25, 2000. Retrieved June 8, 2014.
  65. "GNOME 1.4 Released: Desktop Environment Boasts Power, Stability, Polish and Integration" (Press release). Copenhagen, Denmark: The GNOME Project. Business Wire. April 2, 2001. Retrieved June 8, 2014.
  66. Waugh, Jeff (June 27, 2002). "GNOME 2.0 Desktop and Developer Platform Released!". desktop-devel (Mailing list). Retrieved September 20, 2007.
  67. "GNOME 2.2 Released: Latest version of the popular, multi-platform desktop environment boasts improved usability and a host of new utilities and applications" (Press release). Boston, Massachusetts: The GNOME Project. February 5, 2003. Retrieved June 8, 2014.
  68. Waugh, Jeff (September 11, 2003). "Announcing the GNOME 2.4.0 Desktop & Developer Platform". gnome-announce (Mailing list). Retrieved September 20, 2007.
  69. Sobala, Andrew (March 31, 2004). "Announcing the GNOME 2.6.0 Desktop & Developer Platform". gnome-announce (Mailing list). Retrieved September 20, 2007.
  70. "GNOME 2.8 released!" (Press release). Boston, Massachusetts: The GNOME Project. September 15, 2004. Retrieved June 8, 2014.
  71. "GNOME 2.10 released!" (Press release). Boston, Massachusetts: The GNOME Project. March 9, 2005. Retrieved June 8, 2014.
  72. "GNOME 2.12 Release Notes". Retrieved October 31, 2010.
  73. "GNOME 2.14 Release Notes". Retrieved October 31, 2010.
  74. Newren, Elijah (September 6, 2006). "Celebrating the release of GNOME 2.16!". gnome-announce (Mailing list). Retrieved September 20, 2007.
  75. Newren, Elijah (March 14, 2007). "Celebrating the release of GNOME 2.18!". gnome-announce (Mailing list). Retrieved September 20, 2007.
  76. Ryan, Paul (September 19, 2007). "GNOME 2.20 officially released". Ars Technica. Retrieved September 20, 2007.
  77. Untz, Vincent (March 12, 2008). "Celebrating the release of GNOME 2.22!". gnome-announce-list (Mailing list). Retrieved March 12, 2008.
  78. "GNOME 2.22 Release Notes, Section "GVFS and GIO"".
  79. Untz, Vincent (September 24, 2008). "Celebrating the release of GNOME 2.24!". gnome-announce-list (Mailing list). Retrieved September 27, 2008.
  80. Untz, Vincent (March 18, 2009). "Celebrating the release of GNOME 2.26!". gnome-announce-list (Mailing list). Retrieved March 18, 2009.
  81. Holwerda, Thom (September 24, 2009). "GNOME 2.28 Released". OSNews. Retrieved April 5, 2009.
  82. Holwerda, Thom (March 31, 2010). "GNOME 2.30 Released". OSNews. Retrieved April 4, 2010.
  83. "GNOME 2.32 Release Notes". Retrieved October 31, 2010.
  84. "GNOME 3.0 Release Notes". The GNOME Project. Retrieved April 7, 2011.
  85. "A list of features that have been implemented for 3.4". The GNOME Project. Retrieved March 28, 2012.
  86. "Add high dpi support". February 12, 2014.
  87. "Convert applications to DBusActivatable".
  88. 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.
  89. "GNOME 3.20". March 23, 2016.
Wikibooks has a book on the topic of: Using GNOME
Wikimedia Commons has media related to GNOME.
This article is issued from Wikipedia - version of the 12/2/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.