Difference between revisions of "Unity"

From ArchWiki
Jump to: navigation, search
m (Indicator messages doesn't work properly)
(update Pkg/AUR templates (https://github.com/lahwaacz/wiki-scripts/blob/master/update-package-templates.py))
 
(182 intermediate revisions by 34 users not shown)
Line 1: Line 1:
 +
[[Category:Desktop environments]]
 
[[it:Notify OSD]]
 
[[it:Notify OSD]]
 +
[[ja:Unity]]
 
[[zh-CN:Unity]]
 
[[zh-CN:Unity]]
[[Category:Desktop environments]]
+
{{Related articles start}}
{{Article summary start|Summary}}
+
{{Related|Desktop environment}}
{{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.}}
+
{{Related|GNOME}}
{{Article summary heading|Related}}
+
{{Related|Compiz}}
{{Article summary wiki|GNOME}}
+
{{Related articles end}}
{{Article summary end}}
+
[http://unity.ubuntu.com/ Unity] is a desktop shell for the [[GNOME]] desktop environment developed by [http://www.canonical.com/about Canonical Ltd] for [http://www.ubuntu.com Ubuntu]. Unity is implemented as a plugin of the [[Compiz]] [[window manager]].
  
[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.
+
Not to be confused with [[Unity3D]].
  
 
== Installation ==
 
== Installation ==
There are two ways to install Unity on Archlinux:
+
 
*'''from source code'''
+
{{Warning|Installing Unity means that many official packages will be replaced with patched Ubuntu versions. Be careful to check the resulting package conflicts.}}
*'''from repository'''
+
 
 +
Unity can be installed on Arch Linux from an unofficial repository or alternatively from source.
 +
 
 +
=== From the unofficial repository ===
 +
 
 +
[[pacman#Repositories|Add]] the [[Unofficial user repositories#Unity-for-Arch|Unity-for-Arch]] repository. Available packages are listed on [https://github.com/chenxiaolong/Unity-for-Arch/blob/master/README.md#compiling-from-source GitHub]. It is recommended to [[install]] the {{AUR|freetype2-ubuntu}} package.
 +
 
 +
Additional packages are available from [[Unofficial user repositories#Unity-for-Arch-Extra|Unity-for-Arch-Extra]] - see [https://github.com/chenxiaolong/Unity-for-Arch-Extra/blob/master/README.md#compiling-from-source GitHub] for available packages.
 +
 
 
=== From source ===
 
=== 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''', '''ubuntu-tweak'''(a popular ubuntu tweak tool) and so on.
 
  
To install minimal Unity shell:
+
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 {{AUR|lightdm-ubuntu}} ([[LightDM]] with Ubuntu patches), {{AUR|ubuntu-themes}}, ''unity-tweak-tool'' (a popular Unity configuration tool) and more.
  
1. 'cd' to a directory that you want to keep the sources in and then run:
+
[[Install]] {{pkg|git}} and navigate to a directory in which the sources can be built, then do:
{{bc|$ git clone https://github.com/chenxiaolong/Unity-for-Arch.git}}
+
$ git clone https://github.com/chenxiaolong/Unity-for-Arch.git
Where {{Pkg|git}} is required.
+
  
2 Open the README file and build packages according to the order listed. Basically run:
+
Open the {{ic|README}} and build the packages according to the ordered list (see: [[Makepkg#Usage]]):
{{bc|$ cd packagename
+
{{bc|
$ rm -rvf # Clears out any files from a previous build
+
$ cd ''<package name>''
$ makepkg -sci # '-s' means install needed dependencies, '-c' means clear left files after build and '-i' means install the package after it is built.
+
$ makepkg -sci
 
}}
 
}}
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 [https://github.com/chenxiaolong/Unity-for-Arch-Extra Unity-For-Arch-Extra]. And lightdm needs to be added to autostart daemons. For Systemd users, check [https://wiki.archlinux.org/index.php/Systemd wiki article about Systemd].
+
{{Tip|To use [[LightDM]], follow the same steps mentioned above to install {{AUR|lightdm-ubuntu}} and {{AUR|lightdm-unity-greeter}} from the [https://github.com/chenxiaolong/Unity-for-Arch-Extra Unity-For-Arch-Extra] repository.}}
  
{{Tip|To make this procedure automatic, [https://gist.github.com/3906721 a script] can be used.}}
+
==== Updating ====
  
=== From repository ===
+
Navigate to the original directory and pull all changes:
Compiled packages are also available at [http://unity.humbug.in/ unity.humbug.in] and [http://unity.xe-xe.org/ unity.xe-xe.org].
+
$ git pull
Take '''unity.xe-xe.org''' as an example, to install the packages,
+
add
+
{{bc|
+
[unity]
+
Server &#61; http://unity.xe-xe.org/$arch
+
  
[unity-extra]
+
Then, check, if any packages need updating:
Server &#61; http://unity.xe-xe.org/extra/$arch
+
$ ./"What_can_I_update?.py"
}}
+
to {{ic|/etc/pacman.conf}}
+
  
Run:
+
{{Note|Sometimes, if a certain crucial package is updated, those depending on it will also need to be recompiled. For example, if ''unity'' is updated, ''nux'' might need to be re-compiled as well.}}
{{bc|
+
$ pacman -Suy
+
$ pacman -S $(pacman -Slq unity)}}
+
  
{{Tip| There are many ubuntu-patched packages that replace original Arch packages.
+
=== Standard and extended functionality ===
      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.}}
+
The following section lists packages that, whilst not required for the Unity shell to function, do serve to enhance the user experience:
{{Warning|Almost all of the packages related to Unity in AUR are outdated. Don't mix those packages with those from the repository.}}
+
  
==Update==
+
{| class="wikitable"
For Unity repository, the update is the same as packages from official repositories.
+
!Functionality
 +
!Package(s)
 +
|-
 +
|Notifications
 +
|{{Pkg|notify-osd}}
 +
|-
 +
|Screen locking
 +
|''gnome-screensaver-ubuntu''
 +
|-
 +
|Online accounts
 +
|{{AUR|signon-keyring-extension}}{{Broken package link|{{aur-mirror|signon-keyring-extension}}}}, {{Pkg|gnome-keyring}}, {{Grp|telepathy}}
 +
|-
 +
|SSH
 +
|{{Pkg|gnome-keyring}}
 +
|-
 +
|HUD & menubar integration
 +
|{{AUR|appmenu-qt}}, {{AUR|firefox-ubuntu}}, {{AUR|thunderbird-ubuntu}}
 +
|-
 +
|File and Folder lens
 +
|''zeitgeist-ubuntu''
 +
|-
 +
|Configuration
 +
|{{Pkg|gnome-tweak-tool}}, ''unity-tweak-tool''
 +
|-
 +
|Pidgin integration
 +
|''pidgin-indicator''
 +
|}
  
Otherwise:
+
== Tips and tricks ==
  
1. 'cd' into the 'Unity-for-Arch' directory where it was originally cloned
+
=== Customize LightDM wallpaper and appearance ===
  
2. pull all of changes from github repository:
+
See [[LightDM#Changing background images/colors]].
{{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}}
+
=== Autostart programs on login ===
  
==Trouble Shooting==
+
See [[GNOME#Startup applications]].
===Unity stops working after update===
+
Try to run:
+
{{bc|$ compiz.reset}}
+
and Log out and log into the Unity session.
+
  
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].
+
== Troubleshooting ==
  
===Window decoration doesn't work properly===
+
=== Cannot right click on desktop ===
Try to install {{Pkg|gnome-tweak-tool}} to adjust the theme.
+
  
===Window decoration can't use certain theme===
+
Other issues that this fix addresses:
Install metacity-ubuntu instead of metacity.
+
* Title bar at the top doesn't display ''Arch Linux Desktop''
 +
* Shortcut keys, such as {{ic|Super}} and {{ic|Alt}} do not work when there are no active windows
  
===Some gtk themes look ugly after update to Gnome 3.6===
+
Execute the following: {{ic|gsettings set org.gnome.desktop.background show-desktop-icons true}}
It also happens for unity default theme light-themes. Put
+
 
{{bc|
+
=== Unity stops working after update ===
 +
 
 +
Run {{ic|compiz.reset}} and then log out and log back into the Unity session.
 +
 
 +
If Unity still is not working, report an issue on [https://github.com/chenxiaolong/Unity-for-Arch/issues?state=open github] or discuss it in this [https://bbs.archlinux.org/viewtopic.php?id=125423&p=1 forum thread] on the Arch Linux Forums.
 +
 
 +
=== Some GTK+ themes look ugly since GNOME 3.6 ===
 +
 
 +
This affects the unity default theme and light themes. Use:
 +
 
 +
{{hc|~/.config/gtk3.0/gtk.css|
 
GtkLabel {
 
GtkLabel {
background-color: @transparent;
+
  background-color: @transparent;
 
}
 
}
 
}}
 
}}
in {{ic|.config/gtk3.0/gtk.css}}
 
  
===Newly opened window is always placed at (0,0) on the screen===
+
=== Workspace switcher widget disappeared ===
'''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.
+
 
 +
In ''ccsm'' (the Compiz Configuration Settings Manager), ensure that the following option is checked: ''Settings > Appearance > Behaviour > Enable workspaces''.
 +
 
 +
=== No skype or other applications appear in indicator tray ===
 +
 
 +
Using Skype as an example;
 +
Append ''Skype'' to the {{ic|systray-whitelist}} list in {{ic|com.canonical.Unity.Panel}} using {{Pkg|dconf-editor}} or the gsettings command.
 +
Reboot or logout afterwards.
 +
 
 +
Alternatively, replace the contents of {{ic|systray-whitelist}} with ''all''.
 +
 
 +
== Known issues ==
 +
 
 +
See [https://github.com/chenxiaolong/Unity-for-Arch/issues Github Issues] for known problems.
 +
 
 +
=== Indicator-messages does not work properly ===
 +
 
 +
Pidgin and a number of other applications can not be integrated into ''indicator-messages'' due to its API changes. Users will have to wait for upstream to release software updates for the affected applications.
 +
 
 +
=== Pidgin-libnotify-ubuntu has unresolvable dependency ===
  
===Window's titlebar still exists when maximized===
+
As of February 2015, the required package ''perlxml'' is unavailable, try ''pidgin-indicator''.
'''Metacity-ubuntu''' needs to be used instead of {{Pkg|metacity}}.
+
  
===''Indicator-messages'' doesn't work properly===
+
== See also ==
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==
+
* [http://unity.ubuntu.com/ Unity home page]
 +
* [https://launchpad.net/unity Unity in Launchpad]

Latest revision as of 18:02, 24 April 2016

Related articles

Unity is a desktop shell for the GNOME desktop environment developed by Canonical Ltd for Ubuntu. Unity is implemented as a plugin of the Compiz window manager.

Not to be confused with Unity3D.

Installation

Warning: Installing Unity means that many official packages will be replaced with patched Ubuntu versions. Be careful to check the resulting package conflicts.

Unity can be installed on Arch Linux from an unofficial repository or alternatively from source.

From the unofficial repository

Add the Unity-for-Arch repository. Available packages are listed on GitHub. It is recommended to install the freetype2-ubuntuAUR package.

Additional packages are available from Unity-for-Arch-Extra - see GitHub for available packages.

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-ubuntuAUR (LightDM with Ubuntu patches), ubuntu-themesAUR, unity-tweak-tool (a popular Unity configuration tool) and more.

Install git and navigate to a directory in which the sources can be built, then do:

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

Open the README and build the packages according to the ordered list (see: Makepkg#Usage):

$ cd <package name>
$ makepkg -sci
Tip: To use LightDM, follow the same steps mentioned above to install lightdm-ubuntuAUR and lightdm-unity-greeterAUR from the Unity-For-Arch-Extra repository.

Updating

Navigate to the original directory and pull all changes:

$ git pull

Then, check, if any packages need updating:

$ ./"What_can_I_update?.py"
Note: Sometimes, if a certain crucial package is updated, those depending on it will also need to be recompiled. For example, if unity is updated, nux might need to be re-compiled as well.

Standard and extended functionality

The following section lists packages that, whilst not required for the Unity shell to function, do serve to enhance the user experience:

Functionality Package(s)
Notifications notify-osd
Screen locking gnome-screensaver-ubuntu
Online accounts signon-keyring-extensionAUR[broken link: archived in aur-mirror], gnome-keyring, telepathy
SSH gnome-keyring
HUD & menubar integration appmenu-qtAUR, firefox-ubuntuAUR, thunderbird-ubuntuAUR
File and Folder lens zeitgeist-ubuntu
Configuration gnome-tweak-tool, unity-tweak-tool
Pidgin integration pidgin-indicator

Tips and tricks

Customize LightDM wallpaper and appearance

See LightDM#Changing background images/colors.

Autostart programs on login

See GNOME#Startup applications.

Troubleshooting

Cannot right click on desktop

Other issues that this fix addresses:

  • Title bar at the top doesn't display Arch Linux Desktop
  • Shortcut keys, such as Super and Alt do not work when there are no active windows

Execute the following: gsettings set org.gnome.desktop.background show-desktop-icons true

Unity stops working after update

Run compiz.reset and then log out and log back into the Unity session.

If Unity still is not working, report an issue on github or discuss it in this forum thread on the Arch Linux Forums.

Some GTK+ themes look ugly since GNOME 3.6

This affects the unity default theme and light themes. Use:

~/.config/gtk3.0/gtk.css
GtkLabel {
  background-color: @transparent;
}

Workspace switcher widget disappeared

In ccsm (the Compiz Configuration Settings Manager), ensure that the following option is checked: Settings > Appearance > Behaviour > Enable workspaces.

No skype or other applications appear in indicator tray

Using Skype as an example; Append Skype to the systray-whitelist list in com.canonical.Unity.Panel using dconf-editor or the gsettings command. Reboot or logout afterwards.

Alternatively, replace the contents of systray-whitelist with all.

Known issues

See Github Issues for known problems.

Indicator-messages does not work properly

Pidgin and a number of other applications can not be integrated into indicator-messages due to its API changes. Users will have to wait for upstream to release software updates for the affected applications.

Pidgin-libnotify-ubuntu has unresolvable dependency

As of February 2015, the required package perlxml is unavailable, try pidgin-indicator.

See also