Difference between revisions of "Unity"

From ArchWiki
Jump to: navigation, search
m (Unity: missing word)
(43 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 +
[[it:Notify OSD]]
 +
[[ja:Unity]]
 +
[[zh-CN:Unity]]
 
[[Category:Desktop environments]]
 
[[Category:Desktop environments]]
[[Category:Eye candy]]
 
{{i18n|Unity}}
 
 
 
{{Article summary start|Summary}}
 
{{Article summary start|Summary}}
 
{{Article summary text|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.}}
 
{{Article summary text|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.}}
Line 9: Line 9:
 
{{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 be available in two implementations: 'Unity' is the 3D accelerated version, which uses Compiz window manager and Nux toolkit; 'Unity 2D' is a lighter alternative, which uses Metacity window manager and the Qt toolkit. Unity 2D was dropped by Canonical from Ubuntu 12.10 on. Instead an alternative version powered by Gallium3D llvmpipe 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: from the source and from a repository.
*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.
+
 
*Some packages are split to avoid depending on both version (2 and 3) of the GTK+ toolkit.
+
=== From source ===
{{Warning|Remember you're installing '''unofficial''' packages that unsupported by the Arch Linux developers.}}
+
All of the PKGBUILDs can be browsed on the [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, and [https://github.com/chenxiaolong/Unity-for-Arch-Extra 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 some more.
 +
 
 +
To install a minimal Unity shell:
 +
 
 +
1. 'cd' into a directory, where you want to keep the sources, and run:
 +
{{bc|$ git clone https://github.com/chenxiaolong/Unity-for-Arch.git}}
 +
For this to work, {{Pkg|git}} is required.
 +
 
 +
2 Open the README file and build packages according to the ordered list. 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.
 +
 
 +
To use '''lightdm''' to start Unity, follow the same steps mentionned above to install '''lightdm-ubuntu''' and '''lightdm-unity-greeter''' from the [https://github.com/chenxiaolong/Unity-for-Arch-Extra Unity-For-Arch-Extra] repository. '''lightdm''' needs to be added to autostart daemons. For Systemd users, check the [https://wiki.archlinux.org/index.php/Systemd Systemd wiki page].
 +
 
 +
{{Tip|To complete this procedure automatically, [https://gist.github.com/3906721 this script] can be used.}}
 +
 
 +
=== From repository ===
 +
Compiled packages are also available at [http://unity.humbug.in/ unity.humbug.in] and [http://unity.xe-xe.org/ unity.xe-xe.org].
 +
Take '''unity.xe-xe.org''' as an example, to install the packages,
 +
add
 +
{{bc|
 +
[unity]
 +
Server = http://unity.xe-xe.org/$arch
 +
 
 +
[unity-extra]
 +
Server = http://unity.xe-xe.org/extra/$arch
 +
}}
 +
to {{ic|/etc/pacman.conf}}
 +
 
 +
Run:
 +
{{bc|
 +
$ pacman -Suy
 +
$ pacman -S $(pacman -Slq unity)}}
 +
 
 +
{{Tip| There are many ubuntu-patched packages that replace original Arch packages.
 +
      It is also recommended to use freetype2-ubuntu from '''AUR'''.}}
 +
 
 +
{{Warning|Remember that you are installing '''unofficial''' packages which are not supported by the Arch Linux developers.}}
 +
{{Warning|Almost all packages related to Unity in '''AUR''' are outdated. Do not mix those packages with the ones provided 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:
 +
{{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.
 +
 
 +
{{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}}
  
=== Unity ===
+
==Trouble Shooting==
As noted in the introduction, Unity is available in two implementation: Unity and Unity 2D. Both provides 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,
+
=== Unity notifications doesn't work ===
*'''Unity''' can be installed with package {{AUR|unity}},
+
Ensure following is installed: {{Pkg|notify-osd}}
*'''Unity 2D''' can be installed with the package {{AUR|unity-2d}} and {{AUR|metacity-ubuntu}}.
+
  
metacity-ubuntu is optional, but provides better integration with the window manager (e.g. hide windows title bar when maximized) and some bug fixes.
+
=== Screensaver locking doesn't work ===
 +
Ensure following is installed: {{Pkg|gnome-screensaver}} . For now you need to also create this file
 +
{{hc|/usr/share/dbus-1/services/org.gnome.ScreenSaver.service|[D-BUS Service]
 +
Name=org.gnome.ScreenSaver
 +
Exec=/usr/bin/gnome-screensaver --no-daemon}}
  
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).
+
=== online accounts doesn't work ===
 +
Ensure following is installed: {{Pkg|signon-keyring-extension}} and {{Pkg|gnome-keyring}}. You may also require {{Pkg|telepathy}} to get certain accounts to work.
  
=== Lenses ===
+
=== ssh keys aren't remembered by keyring ===
Lenses bring some additional functionality to Dash. Dash is a central place to search, filter, open and launch applications, documents, music etc..
+
Ensure following is installed: {{Pkg|gnome-keyring}}
*'''Applications Lens''' provides access to installed applications. It can be installed with package {{AUR|unity-lens-applications}}.
+
*'''Files Lens''' provides access to user's documents and files. It can be installed with the package {{AUR|unity-lens-files}}.
+
*'''Music Lens''' provides access to music library from Banshee. It can be installed with the package {{AUR|unity-lens-music}}.
+
*'''Gwibber Lens''' provides access to social network messages from Gwibber. It can be installed with the package {{AUR|gwibber-unity}}.
+
  
=== Indicators ===
+
=== KDE apps aren't integrated into the HUD and menubar ===
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.
+
Ensure following is installed: {{Pkg|appmenu-qt}}
  
GNOME/Unity require GTK+ 3 indicators:
+
=== Files and Folder lens doesn't seem to work or display anything ===
*'''Application Indicator''' exposes status icons and menus from applications. It can be installed with the package {{AUR|indicator-application}}.
+
Ensure following is installed: {{Pkg|zeitgeist}} and {{Pkg|zeitgeist-datahub}}
*'''Appmenu Indicator''' exposes menubars from applications. It can be installed with the package {{AUR|indicator-appmenu}}.
+
*'''Datetime Indicator''' provides the current time, and access to [[Evolution]] events. It can be installed with the package {{AUR|indicator-datetime}}.
+
*'''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:
+
=== Can't right click on desktop ===
*'''Application Indicator for GTK+ 2''' can be installed with the package {{AUR|indicator-application-gtk2}}.
+
Few things this addresses/fixes:
*'''Messages Indicator for GTK+ 2''' can be installed with the package {{AUR|indicator-messages-gtk2}}.
+
* Can't right click on the desktop
*'''Sound Indicator for GTK+ 2''' can be installed with the package {{AUR|indicator-sound-gtk2}}.
+
* Title bar at top doesn't display 'Arch Linux Desktop'
 +
* Shortcut keys like Super and Alt doesn't work when there are no active windows
  
==== Application Indicator support ====
+
Simply install {{Pkg|gnome-tweak-tool}} then open '''Tweak Tool''' and check '''Have file manager handle the desktop'''. You might to uncheck '''Home icon visible on desktop''' and '''Trash icon visible on desktop'''.
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].
+
*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 ====
+
===Unity stops working after update===
Appmenu Indicator requires explicit support from applications/toolkits to expose applications' menubars.
+
Try to run:
*'''Appmenu GTK+''' exposes menubars from standard GTK+ applications (both from version 2 and 3). It can be installed with the package {{AUR|appmenu-gtk}}.
+
{{bc|$ compiz.reset}}
*'''Appmenu Qt''' exposes menubars from Qt applications. It can be installed with the package {{pkg|appmenu-qt}}.
+
and Log out and log into the Unity session.
*'''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 ====
+
If it still doesn't work, report an issue on [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].
Messages Indicator requires explicit support from applications to indicate new messages.
+
*{{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 ====
+
===Window decoration doesn't work properly===
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]:
+
Try to install {{Pkg|gnome-tweak-tool}} to adjust the theme.
*{{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 ====
+
===Window decoration can't use certain theme===
*'''Indicator Applet''' puts all indicators into the GNOME Panel. It can be installed with the package {{AUR|indicator-applet}}.
+
Install metacity-ubuntu instead of metacity.
*'''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 ===
+
===Some gtk themes look ugly after update to Gnome 3.6===
'''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].
+
It also happens for unity default theme light-themes. Put
 +
{{bc|
 +
GtkLabel {
 +
background-color: @transparent;
 +
}
 +
}}
 +
in {{ic|.config/gtk3.0/gtk.css}}
  
It can be installed with the package {{AUR|notify-osd}}.
+
===Workspace switcher widget dissappeared===
 +
Check this setting: Go to settings, Appearance, Behaviour, Enable workspaces
  
==== Notify OSD in Xfce ====
+
===Newly opened window is always placed at (0,0) on the screen===
*If you already installed the package {{pkg|xfce4-notifyd}}, remove it first, because it is incompatible with Notify OSD.
+
'''Metacity-ubuntu''' needs to be used instead of {{Pkg|metacity}}. '''Metacity-ubuntu''' is now included in [https://github.com/chenxiaolong/Unity-for-Arch Unity-for-Arch] again.
*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's titlebar still exists when maximized===
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.
+
'''Metacity-ubuntu''' needs to be used instead of {{Pkg|metacity}}.
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 ===
+
===''Indicator-messages'' doesn't work properly===
'''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}}.
+
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.
  
It works only with standard GTK+ applications (both with version 2 and 3).
+
==Known Issues==

Revision as of 08:06, 13 February 2013

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 be available in two implementations: 'Unity' is the 3D accelerated version, which uses Compiz window manager and Nux toolkit; 'Unity 2D' is a lighter alternative, which uses Metacity window manager and the Qt toolkit. Unity 2D was dropped by Canonical from Ubuntu 12.10 on. Instead an alternative version powered by Gallium3D llvmpipe 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 on the Github repository, where Unity-For-Arch provides a minimal working Unity shell, and 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 some more.

To install a minimal Unity shell:

1. 'cd' into a directory, where you want to keep the sources, and run:

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

For this to work, git is required.

2 Open the README file and build packages according to the ordered list. 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, follow the same steps mentionned above to install lightdm-ubuntu and lightdm-unity-greeter from the Unity-For-Arch-Extra repository. lightdm needs to be added to autostart daemons. For Systemd users, check the Systemd wiki page.

Tip: To complete this procedure automatically, this 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

[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. It is also recommended to use freetype2-ubuntu from AUR.
Warning: Remember that you are installing unofficial packages which are not supported by the Arch Linux developers.
Warning: Almost all packages related to Unity in AUR are outdated. Do not mix those packages with the ones provided 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

Trouble Shooting

Unity notifications doesn't work

Ensure following is installed: notify-osd

Screensaver locking doesn't work

Ensure following is installed: gnome-screensaver . For now you need to also create this file

/usr/share/dbus-1/services/org.gnome.ScreenSaver.service
[D-BUS Service]
Name=org.gnome.ScreenSaver
Exec=/usr/bin/gnome-screensaver --no-daemon

online accounts doesn't work

Ensure following is installed: signon-keyring-extension and gnome-keyring. You may also require telepathy to get certain accounts to work.

ssh keys aren't remembered by keyring

Ensure following is installed: gnome-keyring

KDE apps aren't integrated into the HUD and menubar

Ensure following is installed: appmenu-qt

Files and Folder lens doesn't seem to work or display anything

Ensure following is installed: zeitgeist and zeitgeist-datahub

Can't right click on desktop

Few things this addresses/fixes:

  • Can't right click on the desktop
  • Title bar at top doesn't display 'Arch Linux Desktop'
  • Shortcut keys like Super and Alt doesn't work when there are no active windows

Simply install gnome-tweak-tool then open Tweak Tool and check Have file manager handle the desktop. You might to uncheck Home icon visible on desktop and Trash icon visible on desktop.

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

Workspace switcher widget dissappeared

Check this setting: Go to settings, Appearance, Behaviour, Enable workspaces

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