Difference between revisions of "Unity"

From ArchWiki
Jump to: navigation, search
(Remove from eye candy category.)
Line 8: Line 8:
 
{{Article summary end}}
 
{{Article summary end}}
  
[http://unity.ubuntu.com/ 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 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.
+
[http://unity.ubuntu.com/ 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 ==
 
== Installation ==
All of these packages are available in the [[Arch User Repository]] and [http://ayatana.info/ Ayatana] repository. Please note that
+
There are two ways to install Unity on Archlinux:
*Some packages require a patched version of gtk2 and gtk3 packages (named with '-ubuntu' suffix). When you install these patched packages, pacman will inform you about conflicting packages. It's normal, and you can safely accept to remove the original ones. If you decide to no longer use Unity packages, it's recommended to reinstall the original packages.
+
*'''from source code'''
*Some packages are split to avoid depending on both version (2 and 3) of the GTK+ toolkit.
+
*'''from repository'''
{{Warning|Remember you're installing '''unofficial''' packages that are unsupported by the Arch Linux developers.}}
+
=== From source ===
 +
All of the pkgbuilds can be browsed in [https://github.com/chenxiaolong/Unity-for-Arch Github repository], where [https://github.com/chenxiaolong/Unity-for-Arch Unity-For-Arch] provides a minimal working Unity shell, [https://github.com/chenxiaolong/Unity-for-Arch-Extra Unity-For-Arch-Extra] provides some additoinal applications including '''lightdm-ubuntu'''(lightdm with ubuntu patch), '''light-themes''' and so on.
  
=== Unity ===
+
To install minimal Unity shell:
As noted in the introduction, Unity is available in two implementations: Unity and Unity 2D. Both provide the same functionality, but Unity requires 3D acceleration. To make sure that you can run Unity, run the following command (provided by package {{AUR|nux}}):
+
{{bc|$ /usr/lib/nux/unity_support_test -p}}
+
If it says that Unity 3D is not supported, then you are still able to run Unity 2D.
+
  
Depending on your choice,
+
1. 'cd' to a directory that you want to keep the sources in and then run:
*'''Unity''' can be installed with package {{AUR|unity}},
+
{{bc|$ git clone https://github.com/chenxiaolong/Unity-for-Arch.git}}
*'''Unity 2D''' can be installed with the package {{AUR|unity-2d}} and {{AUR|metacity-ubuntu}}.
+
Where {{Pkg|git}} is required.
  
metacity-ubuntu is optional, but provides better integration with the window manager (e.g. hide windows title bar when maximized) and some bug fixes.
+
2 Open the README file and build packages according to the order listed. Basically run:
 +
{{bc|$ 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.
  
These packages provide the Unity/Unity 2D session, and a basic interface with Launcher, Dash and Panel. You should install some more packages to get a fully functional desktop environment (see below).
+
To use lightdm to start Unity, almost the same steps need to be followed to instal '''lightdm-ubuntu''' and '''lightdm-unity-greeter''' from [https://github.com/chenxiaolong/Unity-for-Arch-Extra Unity-For-Arch-Extra]. And lightdm needs to be added to autostart daemons.
  
=== Lenses ===
+
=== From repository ===
Lenses bring some additional functionality to Dash. Dash is a central place to search, filter, open and launch applications, documents, music etc..
+
Compiled packages are also available at [http://unity.humbug.in/ unity.humbug.in] and [http://unity.xe-xe.org/ unity.xe-xe.org].
*'''Applications Lens''' provides access to installed applications. It can be installed with package {{AUR|unity-lens-applications}}.
+
Take '''unity.xe-xe.org''' as an example, to install the packages,
*'''Files Lens''' provides access to user's documents and files. It can be installed with the package {{AUR|unity-lens-files}}.
+
add
*'''Music Lens''' provides access to music library from Banshee. It can be installed with the package {{AUR|unity-lens-music}}.
+
{{bc|
*'''Gwibber Lens''' provides access to social network messages from Gwibber. It can be installed with the package {{AUR|gwibber-unity}}.
+
[unity]
 +
Server = http://unity.xe-xe.org/$arch
  
=== Indicators ===
+
[unity-extra]
Indicators bring some additional functionality to Panel. Panel is the horizontal bar at the top of the screen to display application and status icons and menus.
+
Server = http://unity.xe-xe.org/extra/$arch
 +
}}
 +
to {{ic|/etc/pacman.conf}}
  
GNOME/Unity require GTK+ 3 indicators:
+
Run:
*'''Application Indicator''' exposes status icons and menus from applications. It can be installed with the package {{AUR|indicator-application}}.
+
{{bc|
*'''Appmenu Indicator''' exposes menubars from applications. It can be installed with the package {{AUR|indicator-appmenu}}.
+
$ pacman -Suy
*'''Datetime Indicator''' provides the current time, and access to [[Evolution]] events. It can be installed with the package {{AUR|indicator-datetime}}.
+
$ pacman -S $(pacman -Slq unity)}}
*'''Messages Indicator''' provides the Messages menu to collect new messages. It can be installed with the package {{AUR|indicator-messages}}.
+
*'''Network Indicator''' provides the Network menu for controlling [[Connman|ConnMan]]. It can be installed with the package {{AUR|indicator-network}}.
+
*'''Power Indicator''' provides the Power menu for displaying battery life. It can be installed with the package {{AUR|indicator-power}}.
+
*'''Session Indicator''' provides the Users and Devices menus for switch users, access some pluggable devices, logout and shutdown/restart the computer. It can be installed with the package {{AUR|indicator-session}}.
+
*'''Sound Indicator''' provides the Sound menu for control media players and volume. It can be installed with the package {{AUR|indicator-sound}}.
+
  
Xfce/LXDE/AWN require GTK+ 2 indicators:
+
{{Tip| There are many ubuntu-patched packages that replace original Arch packages.
*'''Application Indicator for GTK+ 2''' can be installed with the package {{AUR|indicator-application-gtk2}}.
+
      Also it is recommended to use freetype2-ubuntu and libxft-ubuntu from AUR.}}
*'''Messages Indicator for GTK+ 2''' can be installed with the package {{AUR|indicator-messages-gtk2}}.
+
*'''Sound Indicator for GTK+ 2''' can be installed with the package {{AUR|indicator-sound-gtk2}}.
+
  
==== Application Indicator support ====
+
{{Warning|Remember you're installing '''unofficial''' packages that are unsupported by the Arch Linux developers.}}
Application Indicator requires explicit support from applications/toolkits to expose applications' status icons and menus. Basically, all applications/toolkits supported that implements the [http://www.notmart.org/misc/statusnotifieritem/index.html Status Notifier Specification].
+
{{Warning|Almost all of the packages related to Unity in AUR are outdated. Don't use those packages mixedly with packages here}}
*GTK+ applications require individual support to be displayed in Application Indicator.
+
*Most of KDE apps support SNI officially, so their icons are displayed in Application Indicator.
+
 
+
==== Appmenu Indicator support ====
+
Appmenu Indicator requires explicit support from applications/toolkits to expose applications' menubars.
+
*'''Appmenu GTK+''' exposes menubars from standard GTK+ applications (both from version 2 and 3). It can be installed with the package {{AUR|appmenu-gtk}}.
+
*'''Appmenu Qt''' exposes menubars from Qt applications. It can be installed with the package {{pkg|appmenu-qt}}.
+
*'''Global Menu Bar extension''' exposes menubar from Firefox and Thunderbird. It can be installed with the package {{AUR|globalmenu-extension}}.
+
*'''LibreOffice Menubar extension''' exposes menubar from LibreOffice. It can be installed with the package {{AUR|libreoffice-extension-menubar}}.
+
  
==== Messages Indicator support ====
+
==Update==
Messages Indicator requires explicit support from applications to indicate new messages.
+
For Unity repository, the update is the same to packages from official repositories.
*{{AUR|cloudsn}}
+
*{{pkg|emesene}}
+
*{{AUR|evolution-indicator}} for Evolution
+
*{{AUR|gm-notify}}
+
*{{AUR|gwibber}}
+
*{{AUR|kopete-indicator}} for Kopete
+
*{{AUR|liferea-indicator}} for Liferea
+
*{{AUR|pidgin-indicator}} for Pidgin
+
*{{AUR|popper}}
+
*{{AUR|quassel-indicator}} for Quassel
+
*{{AUR|smuxi}}
+
*{{AUR|specto}}
+
*{{AUR|telepathy-indicator}} for Empathy
+
*{{AUR|thunderbird-indicator}} for Thunderbird
+
*{{AUR|xchat-indicator}} for XChat and XChat-GNOME
+
  
==== Sound Indicator support ====
+
Otherwise:
Sound Indicator requires explicit support from media players. Basically, all media players are supported that implements the [http://www.mpris.org/2.1/spec/ MPRIS 2 specification]:
+
*{{pkg|Amarok}}
+
*{{pkg|Audacious}}
+
*{{pkg|Banshee}}
+
*{{pkg|Clementine}}
+
*{{AUR|Guayadeque}}
+
*{{pkg|Pragha}}
+
*{{pkg|Rhythmbox}}
+
*{{pkg|VLC}}
+
*{{AUR|Xnoise}}
+
  
==== Indicators in GNOME, KDE, Xfce, LXDE and AWN ====
+
1. 'cd' into the 'Unity-for-Arch' directory where it was originally cloned
*'''Indicator Applet''' puts all indicators into the GNOME Panel. It can be installed with the package {{AUR|indicator-applet}}.
+
*'''Xfce Indicator Plugin''' puts all indicators into the Xfce4 Panel. It can be installed with the package {{AUR|xfce4-indicator-plugin}}.
+
*'''Xfce Appmenu Plugin''' provides a global menu for Xfce4 Panel. It can be installed with the package {{AUR|xfce4-appmenu-plugin}}.
+
*'''LXPanel Indicator Applet''' plugin puts all indicators into the LXPanel. It can be installed with the package {{AUR|lxpanel-indicator-applet-plugin}}.
+
*'''AWN Indicator Applet''' plugin puts all indicators into the [[Avant Window Navigator]]. It can be installed with the package {{AUR|awn-indicator-applet}}.
+
*'''Message Indicator Plasma Widget''' provides Messages Indicator functionality by collecting new messages. It can be installed with the package {{AUR|plasma-widget-message-indicator}}.
+
*'''Menubar Plasma Widget''' provides Appmenu Indicator functionality by exposing menubars from applications. It can be installed with the package {{AUR|plasma-widget-menubar}}.
+
  
=== Notify OSD ===
+
2. pull all of changes from github repository:
'''Notify OSD''' (On-Screen Display) is an on-screen notification agent designed by Canonical. It presents notifications in semi-transparent click-through bubbles from applications that implement the [http://developer.gnome.org/notification-spec/ Desktop Notifications Specification].
+
{{bc|$ git pull}}
 +
3. Check if packages need to be updated:
 +
{{bc|$ ./What_can_I_update\?.py}}
 +
4. If any packages need to be updated, just build them like mentioned above in '''from source''' section.
  
It can be installed with the package {{AUR|notify-osd}}.
+
{{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:
 +
{{bc|$ compiz.reset}}
 +
and Log out and log into the Unity session.
  
==== Notify OSD in Xfce ====
+
If it still doesn't work, report an issue at [https://github.com/chenxiaolong/Unity-for-Arch/issues?state=open github] or discuss it on [https://bbs.archlinux.org/viewtopic.php?id=125423&p=1 Arch forum].
*If you already installed the package {{pkg|xfce4-notifyd}}, remove it first, because it is incompatible with Notify OSD.
+
*A patched version of Notify OSD is available that utilizes Xfconf, the Xfce configuration daemon and GTK+2, instead of GSettings and GTK+3. It can be installed with the package {{AUR|notify-osd-xfconf-bzr}}.
+
*To get synchronous notifications via Notify OSD when changing volume, install the package {{AUR|xfce4-volumed}}.
+
  
==== Screen flicker with Compiz ====
+
===Window decoration doesn't work properly===
If you're using Compiz, notifications may flicker on fade-out animation. More specifically, the OSD may flash at the end of the fade out. To prevent this, you have to exclude "notifications" from being processed by Compiz animations plugin.
+
Try to install {Pkg|gnome-tweak-tool} to adjust the theme.  
To achieve this, proceed as follows:
+
# Open '''CompizConfig Settings Manager (CCSM)'''
+
# Open '''Animations''' plugin settings
+
# You'll find the animation settings strings. You may find something like this ''(type=Menu | PopupMenu | notifications | DropdownMenu)''. Just remove '''notifications''' from the list. Remember to remove the setting from both '''Open Animation''' and '''Close Animation''' tabs.
+
  
=== Overlay Scrollbar ===
+
===Window decoration can't use certain theme===
'''Overlay Scrollbar''' is a design enhancement to save some space on the screen: it hides the scrollbars of the windows, and shows them only when you move your mouse near to the application's border. It can be installed with the package {{AUR|overlay-scrollbar}}.
+
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 {{ic|path-to-theme/metacity-1/metacity-theme-1.xml}}
  
It works only with standard GTK+ applications (both with version 2 and 3).
+
==Known Issues==
 +
===Window decoration doesn't work properly===
 +
===Ubuntu 12.10 new feature ''Webapps'' doesn't work properly===

Revision as of 17:11, 1 November 2012

Summary help replacing me
This article discusses how to install and use Unity. Unity is a shell interface for the GNOME desktop environment. This article covers how to get Unity on your system and how to configure it to fit your needs.
Related
GNOME

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 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 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

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

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

to /etc/pacman.conf

Run:

$ 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

Update

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

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 at github or discuss it on Arch forum.

Window decoration doesn't work properly

Try to install {Pkg|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