From Gentoo Wiki
Jump to: navigation, search

Unity is an alternative shell for the GNOME desktop environment, developed by Canonical in its Ayatana project. It consists of several components including the Launcher, Dash, Lenses, Panel and Indicators.

Unity is a plugin of the Compiz window manager.


You can install Unity with unity-base/unity-meta ebuild, can be found in the unity-gentoo overlay in layman:

root #emerge --ask unity-meta
USE flag (what is that?) Default Recommended Description
accessibility No Gnome accessibility packages
chat Yes Enable Instant Messaging integration via net-im/empathy
gnome No Gnome core applications such as gnome-terminal, totem, eog etc.
gnome-extras No Gnome extra applications such as file-roller, evolution, gcalctool etc.
webapps Yes Enable Webapps desktop integration
xdm Yes Use a display manager, defaults to lightdm and unity-greeter


You should be starting it via a display manager or by XSESSION=unity variable for startx

user $XSESSION=unity startx


root #emerge --ask gnome-base/gdm
FILE /etc/conf.d/xdm


Startup files

1. 'gnome-session --session=unity' is executed either by 'gdm' or via XSESSION=unity and 'startx'

  • This executes /usr/share/gnome-session/sessions/unity.session which starts compiz as the window manager.

2. /etc/X11/xinit/xinitrc.d/65compiz_profile-on-session is sourced at Xsession startup and if $DESKTOP_SESSION=unity, it sets the COMPIZ_CONFIG_PROFILE=ubuntu variable.

  • When compiz starts it checks the value of $COMPIZ_CONFIG_PROFILE and uses the 'ubuntu' entry located in /etc/compizconfig/config
    • This 'ubuntu' entry sets the compiz profile to 'unity' and sets the compizconfig backend to use gsettings (dconf) which reads the compiz settings from the dconf registry.

3. Default compizconfig settings find their way into the desktop user's dconf registry by way of /etc/xdg/autostart/compiz-migrate-to-dconf.desktop

  • This is auto started at Xsession startup and actually copies the settings from the global gconf registry to the desktop user's dconf registry.

4. Default compizconfig settings find their way into the global gconf registry when compiz is emerged.

  • At src_install() time the compiz ebuild uses the 'update-gconf-defaults' tool to read all files in /usr/share/gconf/defaults/ and write them out to a gconf registry file located in /etc/gconf/gconf.xml.unity/
    • It then updates /etc/gconf/2/local-defaults.path to include the new /etc/gconf/gconf.xml.unity/ directory

External resources