Gentoo Wiki









This guide is geared towards those who are interested in setting up a user-friendly desktop environment based as purely on GTK+2 / GNOME applications as possible, while still allowing for reasonable non-gtk+2 additions (such as OpenOffice and Firefox), which more users are familiar with. If that isn't your goal, or you have something to contribute that is not congruent with that line of thought, please check out the Recommended Packages for Newbies and Recommended Packages guides.

One advantage to an environment build purely on gtk+2 applications is that the interface is more consistent. Also, many Gnome applications interface with gconfd, which allows you to control application settings as an administrator in a centralized fashion.

Although the applications listed are mostly stable, for the convenience of end-users, a few masked packages are listed. So beware, not every application listed here is rock-solid stable.

If you haven't yet you will need to first install and configure Gentoo, followed by X11.

Additionally, administrators may find Customizing GNOME useful.

Installing GNOME


first of all you have to make sure sun-jdk is installed, so before installing gnome, do the following:

emerge dev-java/sun-jdk

there will come a text that says you have to download a file, follow the instructions and do the emerge command again.

emerge -DuN gnome
rc-update add dbus default
/etc/init.d/dbus start
rc-update add hald default
/etc/init.d/hald start

On a decent system, if you start it before going to bed and wait until work is over the next day, it should be done compiling. If that's too long for you, then check out my page. I've listed there my grp and make.conf.

Logging In

In order to log into gnome after installation you will need to do one of the following tasks:

nano -w ~/.xinitrc
# #OR
# startx

Or your .xinitrc might look something like this:

File: ~/.xinitrc
 exec gnome-session   
 # startkde
 # fluxbox &
 # eterm &

I am using 2008 beta2 and I had to emerge -DuN gnome-session explicitly for exec gnome-session above to work

We need to first install GDM (GNOME Display Manager) so we can login using its pretty interface.

emerge -DuN gdm

If you want extra themes for GDM install this package.

emerge -DuN gdm-themes

We now need to edit the file /etc/rc.conf to tell the system to use GDM instead of XDM.

Edit the following lines in rc.conf:

File: /etc/rc.conf
# DISPLAYMANAGER has moved to /etc/conf.d/xdm
File: /etc/conf.d/xdm

We need to add XDM to the default runlevel to be able to start GDM when the system boots up.

rc-update add xdm default

If you would like to have GDM startup quicker at boot find the following line.

File: /etc/init.d/xdm
/sbin/telinit a &>/dev/null

Change it to

File: /etc/init.d/xdm
/etc/X11/ &>/dev/null

Note: The previous is no longer needed as of May 1, 2007, since the /etc/init.d/xdm script already does this for us if XSTATICVT is set to yes in /etc/conf.d/xdm.

And change XDM from default runlevel to the boot runlevel.

rc-update del xdm && rc-update add xdm boot
Note: This will load GDM in the middle of booting so you wont be able to see the entire boot process.

If you want to check out GDM without a reboot start it up.

/etc/init.d/xdm start

Or if you already have XDM running restart the service.

/etc/init.d/xdm restart

Gnome Extra

emerge -DuN gnome-themes-extras ximian-artwork gentoo-artwork gnome-backgrounds gdm-themes xscreensaver numlockx

Way cooler than vnc is what you can do with ssh and X forwarding...

Although GDesklets aren't critical, they can be pretty useful for the average power user - so despite that I normally favor stability, it's worth including them.

emerge -DuN gdesklets-core desklet-starterbar


It is recommended that you install all of the applications using emerge -DuN ${APP_NAME} unless a special procedure is noted. These options enable Portage's best dependency checks ("deep", "update" and "newuse").

User Interface

There are a few little must-have UI tweakers that haven't made it into gnome-base yet:

(GTweakUI isn't in Portage and the project page at hasn't been updated since 2004. Is this still useful or might it break versions of Gnome released since then?) Masonmouse 07:21, 8 October 2006 (UTC)




There are some caveats, however:
Update 07-09-2007: It will compile with unicode, so the following is not needed

echo "x11-libs/wxGTK -unicode" >> /etc/portage/package.use
echo "dev-python/wxpython -unicode" >> /etc/portage/package.use
emerge wxGTK wxpython

Tip: For best multimedia ability and performance make sure you set your USE flags in /etc/make.conf and emerge the appropriate multimedia codecs:


USE="3dnow 3dnowext sse mmx mmxext"

Pentium4 or Celeron:

USE="sse sse2 mmx"


USE="${USE} aac aalib avi cdparanoia cdr divx4linux dv dvd dvdr dvdread encode ffmpeg flac jpeg 
lame live mad mjpeg mp3 ogg quicktime real vcd vidix vorbis win32codecs xmms xv"


emerge -vnDuNa faac faad2 flac lame libogg libmad libmatroska win32codecs libcddb \
libcdio libdvbpsi libdvdcss libdvdread libdvdnav ffmpeg xine-lib

DivX4Linux is deprecated, use the divx-USE-flag instead.




Tip: If you want a more full featured Pidgin installation, try emerging pidgin extensions.

Tip: If you want to allow others connect to you for torrents you will need to open up some ports on your firewall:

1. Save your current firewall rules iptables-save > /etc/iptables.bak
2. Open /etc/iptables.bak in your favorite text editor
3. Add the following rule(s) in appropriate order (according to your existing rules).

Firewall Rule: bittorrent
 -A INPUT -p tcp -m state --state NEW -m tcp --dport 6881:6886 -j ACCEPT

4. Restore all rules to be part of your current configuration iptables-restore /etc/iptables.bak

Warning: Be carefull not to allow too many connections - particularly with DSL as it is very slow on uploads. If your internet access slows to a crawl, make sure that you limit the bit-torrent traffic.



Tip: To use all of the features of gphpedit you should add the 'doc' keyword to php. echo "dev-php/php doc" >> /etc/portage/packages.use

Tip: gnucash has many gnome-1.x dependencies which also have dependencies which also have dependencies that aren't really needed just to run gnucash.

You can inject some of these to prevent them from being installed. If you're daring you might try building gnucash2 yourself, but it's rather unstable at present.

# gnucash --> gtkhtml --> control-center-1.x - which is ugly; we already have control-center-2.x
echo "gnome-base/control-center-" >> /etc/portage/profile/package.provided
echo ">=gnome-base/control-center-" >> /etc/portage/package.mask


For your everyday users there is the OASIS standardized office suite we have all come to know and love as I don't really see any point to compiling this yourself, as it is highly sensitive and any optimizations you use other than -march=${CPU} are likely to be filtered out anyway. Furthermore, I'd highly suggest using the developer release of OOo2. This will give you a chance to use gnome-btdownload and experience the incredible download speeds that a torrent offers.

You can also use the latest version in the portage tree.

echo ">=app-office/openoffice-bin-1.9 ~x86" >> /etc/portage/package.keywords
echo ">=app-office/openoffice-bin-1.9" >> /etc/portage/package.unmask

Tip: There are a couple of extra packages you are likely to want with OpenOffice
emerge --noreplace ooodi ooextras ooqstart-gnome

Tip: To use Base you'll need some extra steps:
emerge jdbc-mysql
cp /usr/share/jdbc-mysql/lib/mysql-connector-java-*-stable-bin.jar $JAVA_HOME/jre/lib/ext

You'll also need to adjust some settings by opening Tools » Options » » Java » Class Path » Add Archive and selecting /usr/share/jdbc-mysql/lib/mysql-connector-java-3.0.16-ga-bin.jar

NOTE: someone should check status/file a bug on this not happening automatically

Note: If you have glibc hardened or used gcc-hardened to compile glibc, you may have an error about perl, python, or gnomedb when compiling openoffice. This is a known bug.


Other / Power User / Admin Tools

These are just some misc tools you may very well find that you want to have.

Mac-ify me Captain!

Workstation Switcher is okay, but I want something cool and Mac-like

You'll probably want to configure these to start with your session and change F12 and F11 to be their shortcuts.

Skippy is now available in Portage, as well as Starterbar.

Additional Resources

Retrieved from ""

Last modified: Sat, 06 Sep 2008 22:11:00 +0000 Hits: 91,011