<?xml version='1.0' encoding='UTF-8'?>

<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gnome-config.xml,v 1.9 2006/09/10 02:01:41 rane Exp $ -->

<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">

<guide link="/doc/en/gnome-config.xml">

<title>The GNOME Configuration HOWTO</title>

<author title="Author">
  <mail link="swift@gentoo.org">Sven Vermeulen</mail>
</author>
<author title="Editor">
  <mail link="lars@strojny.net">Lars Strojny</mail>
</author>

<abstract>
A frequently used environment is GNOME. This HOWTO tries to describe 
all aspects of GNOME, including installation, configuration, usage, ...
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
<license/>

<version>1.8</version>
<date>2006-09-09</date>

<chapter>
<title>What is GNOME?</title>
<section>
<title>The Project</title>
<body>

<p>
The <uri link="http://www.gnome.org">GNOME</uri> project is a free software
project dedicated to the development of GNOME, a Unix/Linux desktop suite and
development platform. The <uri link="http://foundation.gnome.org">GNOME 
Foundation</uri> coordinates the development and other aspects of the GNOME 
Project.
</p>

</body>
</section>
<section>
<title>The Software</title>
<body>

<p>
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.
</p>

</body>
</section>
<section>
<title>The Community</title>
<body>

<p>
Like with any big free software project, GNOME has an extensive user- and
development base. <uri link="http://www.gnomedesktop.org">Footnotes</uri>
contains GNOME Desktop news for users; <uri
link="http://planet.gnome.org">GnomePlanet</uri> is for hackers/contributors and
<uri link="http://developer.gnome.org">Developer.Gnome.Org</uri> is for the
GNOME developers.
</p>

</body>
</section>
</chapter>
<chapter>
<title>Installing GNOME</title>
<section>
<title>What do you need?</title>
<body>

<p>
Before you start installing GNOME, you might want to edit your USE variables.
Make sure that <c>gtk</c> and <c>gnome</c> are in your USE variable listed in
<path>/etc/make.conf</path>. If you want support for <c>hald</c>, the hardware
abstraction layer daemon add <c>hal</c> to your USE flags. USE variable
<c>avahi</c> 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
<c>qt*</c>, <c>arts</c> and <c>kde</c>.
</p>

<pre caption="Example USE in /etc/make.conf">
USE="-qt -qt3 -qt4 -arts -kde gtk gnome hal avahi"
</pre>

<p>
Once done, start installing GNOME by emerging <c>gnome</c> and
<c>xscreensaver</c>:
</p>

<pre caption="Installing GNOME">
# <i>emerge gnome xscreensaver</i>
</pre>

<p>
You can also opt for a minimal Gnome installation using <c>gnome-light</c>:
</p>

<pre caption="Installing a minimal GNOME environment">
# <i>emerge gnome-light</i>
</pre>

<p>
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:
</p>

<pre caption="Updating environment variables">
# <i>env-update &amp;&amp; source /etc/profile</i>
</pre>

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

<pre caption="Installing gamin, a file alteration monitor">
# <i>emerge gamin</i>
</pre>

<impo>
If you are switching from <c>fam</c> (the old, deprecated file monitor) to
<c>gamin</c>, you will need to remove <c>famd</c> from all runlevels and then
unmerge it:
</impo>

<pre caption="Switching to gamin">
# <i>rc-update del famd default</i>
# <i>emerge --unmerge fam</i>
</pre>

<p>
Next we'll clean up the remaining runlevels.
</p>

<pre caption="Adding hald and avahi-dnsconfd to the default runlevel">
# <i>/etc/init.d/hald start</i>
# <i>rc-update add hald default</i>

# <i>/etc/init.d/avahi-dnsconfd start</i>
# <i>rc-update add avahi-dnsconfd default</i>
</pre>

</body>
</section>
<section>
<title>First Impressions</title>
<body>

<p>
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
<c>startx</c> command (see also
<uri link="/doc/en/xorg-config.xml#using_startx">Using startx</uri> in the
<uri link="/doc/en/xorg-config.xml">X Server Configuration Howto</uri>):
</p>

<pre caption="Having GNOME as default desktop environment">
$ <i>echo "exec gnome-session" &gt; ~/.xinitrc</i>
</pre>

<p>
Now start your graphical environment by running <c>startx</c>:
</p>

<pre caption="Starting GNOME">
$ <i>startx</i>
</pre>

<p>
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.
</p>

</body>
</section>
</chapter>
<chapter>
<title>Configuring GNOME</title>
<section>
<title>GNOME's Graphical Login Manager</title>
<body>

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

<pre caption="Adding xdm to the default runlevel">
# <i>rc-update add xdm default</i>
</pre>

<p>
Now edit <path>/etc/rc.conf</path> and alter the DISPLAYMANAGER variable.
</p>

<pre caption="Editing /etc/rc.conf">
DISPLAYMANAGER="gdm"
</pre>

<p>
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 <path>/usr/share/xsessions/</path>). Thus, if you use GDM,
you don't need to edit <path>~/.xinitrc</path>.
</p>

<p>
To use the functionality of <c>hald</c> just start <c>gnome-volume-manager</c>
and edit its preferences.
</p>

</body>
</section>
</chapter>
</guide>
