The GNOME Configuration HOWTO Sven Vermeulen Lars Strojny A frequently used environment is GNOME. This HOWTO tries to describe all aspects of GNOME, including installation, configuration, usage, ... 1.16 2007-07-05 What is GNOME?
The Project

The GNOME project is a free software project dedicated to the development of GNOME, a Unix/Linux desktop suite and development platform. The GNOME Foundation coordinates the development and other aspects of the GNOME Project.

The Software

GNOME is a desktop environment and a development platform. This piece of free software is the desktop of choice for several industry leaders. It is interesting both for business users, home users as well as developers.

The Community

Like with any big free software project, GNOME has an extensive user- and development base. Footnotes contains GNOME Desktop news for users; GnomePlanet is for hackers/contributors and Developer.Gnome.Org is for the GNOME developers.

Installing GNOME
What do you need?

Before you start installing GNOME, you might want to edit your USE variables. Make sure that gtk and gnome are in your USE variable listed in /etc/make.conf. If you want support for hald, the hardware abstraction layer daemon add hal to your USE flags. USE variable avahi brings DNS-detection to GNOME (similiar to Rendevouz under Mac OS X). If you don't want KDE support (the other big desktop environment), remove qt*, arts and kde.

USE="-qt3 -qt4 -arts -kde gtk gnome hal avahi"

You can add the branding USE flag to get a lovely Gentoo-branded splashscreen instead of the default Gnome splashscreen:

# echo "gnome-base/gnome-session branding" >> /etc/portage/package.use

Once done, start installing GNOME by emerging gnome:

# emerge gnome

You can also opt for a minimal Gnome installation using gnome-light:

# emerge gnome-light

This will take a while, so you might want to start reading all those books your mother bought you but you never opened. Done? Great, now update your environment variables:

# env-update && source /etc/profile

If you paid attention to the output of your previous emerge command, you'll notice that it suggests using gamin to have nautilus and gnome-vfs monitor file changes:

# emerge gamin
If you are switching from fam (the old, deprecated file monitor) to gamin, you will need to remove famd from all runlevels and then unmerge it:
# rc-update del famd
# emerge --unmerge app-admin/fam

Next we'll clean up the remaining services.

# /etc/init.d/hald start
# rc-update add hald default

# /etc/init.d/avahi-dnsconfd start
# rc-update add avahi-dnsconfd default
First Impressions

Let us first take a look at what we just built. Exit your root shell and log on as a regular user. We will configure our session to run GNOME when we issue the startx command (see also Using startx in the X Server Configuration Howto):

$ echo "exec gnome-session" > ~/.xinitrc

Now start your graphical environment by running startx:

$ startx

If all goes well, you should be greeted by GNOME. Congratulations. Now let us take a look at how you can configure GNOME to suit your needs.

Configuring GNOME
GNOME's Graphical Login Manager

If you want the GNOME Display Manager (GDM) to run automatically when you boot (so you can log on graphically), you must add the xdm init script to the default runlevel:

# rc-update add xdm default

Now edit /etc/conf.d/xdm and alter the DISPLAYMANAGER variable.

DISPLAYMANAGER="gdm"

If you reboot now, the GNOME Display Manager will prompt you for your username and password and will default to using GNOME as Desktop Environment (even though you will have the option of selecting a different one of course, choosing from those available in /usr/share/xsessions/). Thus, if you use GDM, you don't need to edit ~/.xinitrc.

To use the functionality of hald just start gnome-volume-manager and edit its preferences. Also, you'll need to add your user to the plugdev group.