A frequently used desktop environment is GNOME. This guide tries to describe all aspects of GNOME, including installation, configuration, usage, and more!
What is GNOME?
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.
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, and developers.
Like with any big free software project, GNOME has an extensive user and development base. GnomePlanet is a popular blog aggregator for GNOME hackers and contributors whereas Developer.Gnome.Org is for the GNOME developers. GNOME Library contains a huge list of GNOME resources for end users. The World of GNOME is also a popular aggregator for GNOME-related news.
Before the GNOME install process, first read and follow the instructions in the Xorg guide to setup a X environment. X is the standard base for all desktop environments in Linux.
Before installing GNOME, editing the system's USE variables is a good idea. Make sure that
gnome are in the USE variable located in /etc/portage/make.conf. If support for
dbus add it to the USE flags (dbus is a system message bus GNOME uses extensively). If no KDE support is required, remove
kde from USE. USE flags can be removed by adding a minus sign (
-) in front of them. See the example below for the minus sign used properly.
USE="-qt4 -kde X dbus gtk gnome"
branding USE flag provides a lovely Gentoo-branded splash screen instead of the default GNOME splash screen:
echo "gnome-base/gnome-session branding" >> /etc/portage/package.use
When using the
desktop/gnomeprofile, these USE flags will be set for you. It is possible to check the system profile by running eselect profile list. Modifications can be made by running eselect profile set <profile-name> as root. Be sure to replace "<profile-name>" with the number or name of the desired profile.
Once finished, begin the GNOME installation by emerging GNOME:
emerge --ask gnome-base/gnome
For a minimal GNOME installation install the gnome-base/gnome-light package. This option provides a lightweight GNOME installation without pulling in the full GNOME desktop environment. Most people may need to install additional packages afterwards.
emerge --ask gnome-base/gnome-light
The gnome-base/gnome-light package does not pull in gnome-extra/gnome-screensaver, which is needed for locking the screen. Be aware the screen probably will not lock without it.
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 environment variables:
env-update && source /etc/profile
Next the remaining services and user groups will be cleaned.
rc-update add dbus default
plugdev group exists. If it does, it is advisable to make each GNOME user member of that group, but step this is optional (the group is not common anymore).
getent group plugdev
<username> in the next command with each GNOME user's user name:
gpasswd -a <username> plugdev
It is time to take a look at what was just built. Exit the root shell and log in as a regular user. The next step is to configure the session manager to run GNOME when the the startx command is invoked (see using startx in the Xorg guide for more information).
echo "exec gnome-session" > ~/.xinitrc
Starting with gnome-base/gnome-session-2.26.2, users will need to prepend the XDG_MENU_PREFIX variable to get the GNOME menus when using the ~/.xinitrc method to start the desktop. If ~/.xinitrc is not being used it will be handled automatically; no additional configuration is needed.
sed -i '1i\export XDG_MENU_PREFIX=gnome-' ~/.xinitrc
Now start the graphical environment by issuing startx:
If all goes well GNOME should happily provide a greeting. Congratulations on setting up GNOME!
It is possible to configure GNOME further. Take a look at the articles listed in GNOME/Guide#See_also for additional customization information.
A possible way to completely remove a GNOME installation is by explicitly uninstalling the gnome-base/gnome package, then cleaning the dependencies of that package.
In order to do this sanely make sure the main Portage repository has been synced:
Next, run a world update so that the system is fully up-to-date:
emerge --ask --update --newuse --deep --with-bdeps=y @world
Unmerge the GNOME base package:
emerge --ask --depclean gnome-base/gnome
Finally, depclean the system:
emerge --ask --depclean
GNOME should now be removed.
Extended customization in GNOME 3
For extra configuration options in GNOME 3 install the gnome-extra/gnome-tweak-tool package. The tweak tool allows customization at a deeper level than the standard Settings frame.
Widgets in GNOME 3
By default in Gentoo Gnome 3 does not widgets. For users who wish to obtain widget functionality a separate package is available:
emerge --ask gnome-extra/gnome-shell-extensions
After the Shell Extensions are installed, eselect can be used to control defaults on a global level:
eselect gnome-shell-extensions list
Available extensions (* means enabled for all users by default):  firstname.lastname@example.org  email@example.com  firstname.lastname@example.org  email@example.com  firstname.lastname@example.org  email@example.com  firstname.lastname@example.org  email@example.com  firstname.lastname@example.org  email@example.com  windowsNavigator@gnome-shell-extensions.gcampax.github.com  firstname.lastname@example.org
- The GDM article describes how to setup the GNOME Display Manager to automatically boot into a graphical environment (rather than starting a GNOME session through startx).
- http://worldofgnome.org/ - The World of GNOME blog.
- https://github.com/dantrell/gentoo-project-gnome-without-systemd - GNOME without Systemd
This article is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Lars Strojny, nightmorph
They are listed here as the Wiki history does not allow for any external attribution. If you edit the Wiki article, please do not add yourself here; your contributions are recorded on the history page.