GNOME stands for GNU Network Object Model Environment; and GNU, as you probably know, stands for GNU’s Not Unix. GNOME is a GUI and a programming environment. From the user’s perspective, GNOME is like the Motif-based Common Desktop Environment (CDE) or Microsoft Windows. Behind the scenes, GNOME has many features that enable programmers to write graphical applications that work together well. The next few sections provide a quick overview of GNOME, highlighting the key features of the GNOME GUI. You can explore the details on your own.

You can always find out the latest information about GNOME by visiting the GNOME home page at

Taking Stock of GNOME

Although what you see of GNOME is the GUI, there is much more to GNOME than the GUI. To help you appreciate it better, note the following points and key features of GNOME:

  • GNOME is officially pronounced “guh-NOME,” but many people pronounce the word as “NOME.” Note that “guh-NOME” stems from “guh-NU,” the way people pronounce GNU.

  • The latest GNOME release is 2.x, also known as GNOME 2 for short.

  • GNOME runs on several UNIX systems, including Linux, BSD (FreeBSD, NetBSD, and OpenBSD), Solaris, HP-UX, AIX, and Silicon Graphics IRIX.

  • GNOME uses the Gimp Tool Kit (GTK+) as the graphics toolkit for all graphical applications. GTK+ relies on X for output and supports multiple programming languages, including C, C++, Perl, and others. Users can easily change the look and feel of all GTK+ applications running on a system. GTK+ is licensed under the GNU Library General Public License (LGPL). See Chapter 23 for more information about GPL and LGPL.

  • GNOME also uses Imlib, another library that supports displaying images on an X display. Imlib supports many different image formats, including XPM and PNG (Portable Network Graphics).

  • GNOME uses the Object Management Group’s Common Object Request Broker Architecture (CORBA) Version 2.2 to enable GNOME software components to communicate with one another regardless of where the components are located or what programming language is used to implement the components.

  • GNOME applications support drag-and-drop operations.

  • GNOME application developers write documentation using DocBook, which is a Document Type Definition (DTD) based on Standard General Markup Language (SGML). This means that you can view the manual for a GNOME application on a Web browser, such as Mozilla.

  • GNOME supports standard internationalization and localization methods. This means that you can easily configure a GNOME application for a new native language.

  • GNOME uses Mesa, an implementation of OpenGL (an application programming interface—API—for 3D graphics) to support 3D graphics.

  • GNOME uses libxml2, a free XML library that also includes libxslt, a complete implementation of the XSLT specification (for transforming XML documents to other XML documents)

Exploring GNOME

Assuming that you have enabled a graphical login screen during Red Hat Linux installation, you should get the GNOME GUI whenever you log in to your Linux system. The exact appearance of the GNOME display depends on the current session. The session is nothing more than the set of applications (including a window manager) and the state of these applications. The metacity window manager, which is the default window manager in GNOME, stores the session information in files located in the ~/.metacity/sessions directory (this is in your home directory). The session files are text files; if you are curious, you can browse these file with the more command.

Initially, when you don’t yet have a session file, the GNOME session comes from the /usr/share/gnome/default.session file. However, as soon as the session starts, the GNOME session manager (/usr/bin/gnome-session) saves the current session information in the ~/.metacity/sessions directory. A typical initial GNOME desktop produced by the session description in the default session file is shown in Figure 9-5.

Click To expand
Figure 9-5: The Initial GNOME Desktop, with the Default Session File.

As you can see from the icons on the left side of the GNOME desktop, GNOME enables you to place folders and applications directly on the desktop. This is similar to the way in which you can place icons directly on the Microsoft Windows desktop.

Insider Insight 

The default GNOME session also starts the magicdev daemon, which is designed to monitor devices, such as the floppy drive and the CD-ROM drive, and to detect events, such as the user inserting a CD-ROM into the drive. When magicdev detects a new CD-ROM, it mounts the CD-ROM and communicates with the GNOME file manager to display the contents of the CD-ROM.

Using the GNOME Panel

A key feature of the GNOME desktop is the long bar along the bottom edge of the screen. This is known as the GNOME panel or simply the panel. The panel is a separate GNOME application. As you can see from the bottom edge of Figure 9-5, the panel provides a display area for menus and small panel applets. Each panel applet is a small program designed to work inside the panel. For example, the clock applet on the panel’s far right displays the current date and time.

The GNOME panel includes several other applets:

  • Launcher applets display buttons with icons of applications. Clicking a button starts (launches) that application. For example, click the earth icon to launch the Mozilla Web browser. Clicking the icon showing sheets of paper next to a pen launches Writer—a Microsoft Word-like word-processing program.

  • The GNOME Pager applet provides a virtual desktop that’s larger than the physical dimensions of your system’s screen. The pager displays four pages in a small display area. Each page represents an area equal to the size of the X display screen. To go to a specific page, click that page in the pager window. If you want a window to always appear on each virtual screen page, simply select Put on All Workspaces from its window menu. The window then appears at the same location on each virtual screen page. The GNOME Pager applet also displays buttons for each window being displayed in the current virtual page.

  • You can add other applets to the GNOME panel. For example, to add the GNOME weather applet, which displays the local weather, right-click on an unused area of the GNOME panel, and then select Add to Panel>Accessories>Weather Report from the pop-up menu. In the Add to Panel pop-up menu, you will find many more categories of applets that you can try out.

The GNOME panel also displays the Main Menu button (the red hat icon) that behaves like the Windows Start menu.

Exploring the Main Menu Button

In Figure 9-5, the left-hand side of the panel includes a button with the image of a red hat. That is the Main Menu button. As with the Start button in Microsoft Windows, you can launch applications from the menu that pops up when you click the left mouse button on the foot. Typically, this menu lists items that start an application. Some of the menu items have an arrow; another pop-up menu appears when you place the mouse pointer on an item with an arrow. Figure 9-6 shows a typical view of the Main Menu on a Red Hat Linux system.

Click To expand
Figure 9-6: Accessing the Main Menu in GNOME.

Explore all the items in the Main menu to see all the tasks you can perform from this menu. As you can see from Figure 9-6, pausing the mouse on a menu item displays pop-up help with information about that menu item.

KDE applications can also run under GNOME. Many KDE applications are organized under Main Menu>Extras. Even if you use the GNOME desktop, you can always start a KDE application by selecting Main Menu>Extras. Thus, you are in no way limited to running only GNOME applications when you use the GNOME GUI.

Setting GNOME Preferences

You can configure certain aspects of the GNOME desktop by selecting Main Menu>Preferences>Control Center. The Preferences window appears, and it displays a number of icons. Each icon is meant for customizing one aspect of the GNOME desktop. For example, the Background icon enables you to customize the desktop’s background.