GARNOME Documentation

The GARNOME Build System

GARNOME is more than just the basic GNOME desktop. The developers have built a fully configurable, customisable and usable desktop environment that can be installed directly into a users home directory. This allows people who are running older distributions, or who are using corporate desktops to use an interface that is both attractive and current, while not affecting the underlying operation of their existing desktop.

Components

There are a lot of packages included in GARNOME that are not built as part of the standard desktop. These packages can be built as either individual modules by entering their directories and typing make install or as complete meta directories which can be built with make paranoid-install.

Garball Includes
admin/ Administrative Tools
bindings/ GNOME platform bindings collection
bootstrap/ Bootstrap related
fifth-toe/ A collection of high quality third-party programs designed for your desktop, including Multimedia, Graphics and Internet applications.
freedesktop/ Freedesktop.org projects
geektoys/ Various extensions to GARNOME that can enhance the usability of your desktop, including new desktop themes and applets that fit into an existing installation.
hacker-tools/ Debuggers, Interface Designers and Hex Editors
mono/ Mono(tm)
office/ Parts of the proposed 'GNOME Office' suite, including a spreadsheet application, word processor and the Evolution PIM / Groupware suite.

Build Requirements

In order to successfully build the GNOME Desktop and Developer Platform you will need to have the following dependencies installed.

Building GARNOME

Once you have the required packages installed, you may want to open the gar.conf.mk file with a text editor and configure the settings for your installation. Most of the defaults are fine, but if you would like to optimize your build, or take advantage of ccache to speed up your GARNOME compile, you may want to refer to the FAQ pages.

After everything has been tweaked to suit your environment and you have installed all of the required packages to build GARNOME, start your build by typing:

cd garnome-x.xx.xx/desktop
make paranoid-install

That's all there is to it! GARNOME will begin to build and install the GNOME Desktop release, and everything it needs immediately.

Starting GARNOME

To use GARNOME you will first need to start the DBus, HAL, and Avahi daemons. You can use the script below to do this:

Note: To use Avahi you must make sure that you do not have any mDNS/Zeroconf daemons (i.e. Howl, mDNSResponder, etc.) running. For example to turn off mDNSResponder in Fedora 4, edit /etc/sysconfig/network and add:

NOZEROCONF=yes

Then either kill mDNSResponder or reboot your system.

#!/bin/bash

GARNOME=$HOME/garnome

## Use GARNOME's DBus, HAL, and Avahi

## Fedora users should uncomment this section
#if [ `grep "<user>messagebus</user>" $GARNOME/etc/dbus-1/system.conf` ]; then
#       cat $GARNOME/etc/dbus-1/system.conf | \
#       sed 's,<user>messagebus</user>,<user>dbus</user>,' > \
#       $GARNOME/etc/dbus-1/system.conf;
#fi

su -c "pkill dbus; \
       pkill avahi-daemon; \
       pkill avahi-dnsconfd; \
       pkill hald; \
       rm -rf $GARNOME/var/run/messagebus.pid; \
       rm -rf $GARNOME/var/run/avahi-daemon/pid; \
       rm -rf $GARNOME/var/run/haldaemon.pid; \
       $GARNOME/bin/dbus-daemon --system; \
       $GARNOME/sbin/avahi-daemon -D; \
       $GARNOME/sbin/avahi-dnsconfd -D; \
       $GARNOME/sbin/hald"

Once the DBus, HAL, and Avahi daemons are running you must create a garnome-session script to start GARNOME. An example startup script would look like:

#!/bin/bash

GARNOME=$HOME/garnome

PATH=$GARNOME/bin:$PATH
LD_LIBRARY_PATH=$GARNOME/lib:$LD_LIBRARY_PATH
PYTHONPATH=$GARNOME/lib/python2.4/site-packages:$GARNOME/lib/python2.4/site-packages/gtk-2.0
PKG_CONFIG_PATH=$GARNOME/lib/pkgconfig:/usr/lib/pkgconfig
GDK_USE_XFT=1
XDG_DATA_DIRS=$GARNOME/share
XDG_CONFIG_DIRS=$GARNOME/etc/xdg
MANPATH=$GARNOME/man:$MANPATH
DBUS_LAUNCH="$GARNOME/bin/dbus-launch --exit-with-session"

export PATH LD_LIBRARY_PATH PYTHONPATH PKG_CONFIG_PATH \
       GDK_USE_XFT XDG_DATA_DIRS XDG_CONFIG_DIRS MANPATH DBUS_LAUNCH

exec $DBUS_LAUNCH $GARNOME/bin/gnome-session

You can then use the standard method your distribution provides to launch it when you start X.

Note: If you have altered the install path in gar.conf.mk, remember to set the GARNOME variable at the top of your script to point to the correct directory.

If you start X with the startx command you should launch this in ~/.xinitrc. If you use the Xsession menu choice in GDM, you should launch this in ~/.xsession. Assuming the garnome-session script is in your path, both files should look like this:

#!/bin/bash
exec garnome-session

Adding GARNOME to GDM (Fedora)

If you would like to add GARNOME to your GDM you can do the following:

First chmod the garnome-session file.

chmod a+x garnome-session

Then just copy it to /usr/bin and setup the GDM Sessions file.

cp garnome-session /usr/bin
cd /usr/share/xsessions
sed -e 's/GNOME/GARNOME/g' -e 's/Exec=gnome-session/Exec=garnome-session/' < gnome.desktop > garnome.desktop

Note: This example shows how things are setup on Fedora but your GDM configuration might be different depending on your distribution. Consult your distribution's documentation for the specific changes that are required.

 

About GNOME · Bugzilla · Developers · Planet GNOME · GNOME Support