From ArchWiki
Jump to navigation Jump to search

zh-CN:Unity 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. For Systemd users, check wiki article about Systemd.

Tip: To make this procedure automatic, a script can be used.

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 mix those packages with those from the repository.


For Unity repository, the update is the same as 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

Install metacity-ubuntu instead of metacity.

Some gtk themes look ugly after update to Gnome 3.6

It also happens for unity default theme light-themes. Put

GtkLabel {
background-color: @transparent;

in .config/gtk3.0/gtk.css

Newly opened window is always placed at (0,0) on the screen

Metacity-ubuntu needs to be used instead of metacity. Metacity-ubuntu is now included in Unity-for-Arch again.

Window's titlebar still exists when maximized

Metacity-ubuntu needs to be used instead of metacity.

Indicator messages doesn't work properly

Pidgin and a bunch of other applications can not be integrated into indicator-messages due to its API changes. Wait for the upstream software updates or you can help file a bug report.

Known Issues