From ArchWiki
Jump to navigation Jump to search

zh-CN:Notify OSD Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

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.


There are two ways to install Unity on Archlinux:

  • from source code
  • from 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 additoinal applications including lightdm-ubuntu(lightdm with ubuntu patch), light-themes, ubuntu-tweak(a popular ubuntu 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:

$ git clone https://github.com/chenxiaolong/Unity-for-Arch.git

Where git is required.

2 Open the README file and build packages according to the order listed. Basically run:

$ cd packagename
$ rm -rvf # Clears out any files from a previous build
$ makepkg -sci # '-s' means install needed dependencies, '-c' means clear left files after build and '-i' means install the package after it is built.

3. Log out and log into the Unity session.

To use lightdm to start Unity, almost the same steps need to be followed to instal lightdm-ubuntu and lightdm-unity-greeter from Unity-For-Arch-Extra. And lightdm needs to be added to autostart daemons.

From repository

Compiled packages are also available at unity.humbug.in and unity.xe-xe.org. Take unity.xe-xe.org as an example, to install the packages, add

Server = http://unity.xe-xe.org/$arch

Server = http://unity.xe-xe.org/extra/$arch

to /etc/pacman.conf


$ pacman -Suy
$ pacman -S $(pacman -Slq unity)
Tip: There are many ubuntu-patched packages that replace original Arch packages. Also it is recommended to use freetype2-ubuntu and libxft-ubuntu from AUR.
Warning: Remember you're installing unofficial packages that are unsupported by the Arch Linux developers.
Warning: Almost all of the packages related to Unity in AUR are outdated. Don't use those packages mixedly with packages here


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


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

Trouble Shooting

Unity stops working after update

Try to run:

$ compiz.reset

and Log out and log into the Unity session.

If it still doesn't work, report an issue on github or discuss it on Arch forum.

Window decoration doesn't work properly

Try to install gnome-tweak-tool to adjust the theme.

Window decoration can't use certain theme

It's an known issue which is supposed to be solved with Gnome 3.6. A dirt hack is to remove shadow and padding entries in path-to-theme/metacity-1/metacity-theme-1.xml.

Known Issues

Window decoration doesn't work properly

Ubuntu 12.10 new feature Webapps doesn't work properly