Revision as of 15:01, 21 January 2013

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, indicators, Notify OSD and Overlay Scrollbar. Unity used to available in two implementations: 'Unity' is the 3D accelerated version, which uses Compiz window manager and Nux toolkit; and 'Unity 2D' is a lighter alternative, which uses Metacity window manager and Qt toolkit. Unity 2D is already dropped by Canonical from Ubuntu 12.10. Instead a version powered by Gallium3D llvmpipe alternative is used.

Installation

There are two ways to install Unity on Archlinux: from the source and from a repository.

From source

All of the pkgbuilds can be browsed in Github repository, where Unity-For-Arch provides a minimal working Unity shell, Unity-For-Arch-Extra provides some additional applications including lightdm-ubuntu (lightdm with ubuntu patches), light-themes, ubuntu-tweak(a popular unity tweak tool) and so on.

To install minimal Unity shell:

1. 'cd' to a directory that you want to keep the sources in and then run:

To use lightdm to start Unity, almost the same steps need to be followed to install lightdm-ubuntu and lightdm-unity-greeter from Unity-For-Arch-Extra. And lightdm needs to be added to autostart daemons. For Systemd users, check wiki article about Systemd.

Warning: Almost all of the packages related to Unity in AUR are outdated. Don't mix those packages with those from the repository.

Update

For Unity repository, the update is the same as packages from official repositories.

Otherwise:

1. 'cd' into the 'Unity-for-Arch' directory where it was originally cloned

2. pull all of changes from github repository:

$ git pull

3. Check if packages need to be updated:

$ ./What_can_I_update\?.py

4. If any packages need to be updated, just build them like mentioned above in from source section.

Note: Sometimes if certain crucial package is updated, those package which depend on it will also need to be recompiled though they won't be reported. For example, Unity is often required to be recompiled if nux gets updated