Difference between revisions of "Pantheon"

From ArchWiki
Jump to: navigation, search
(Installation)
m (Installation)
(26 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Stub|As of now Pantheon runs on Arch Linux with a few rough edges. This wiki article intends to support porting Pantheon to Arch.}}
 
 
[[Category:Desktop environments]]
 
[[Category:Desktop environments]]
 
{{Article summary start}}
 
{{Article summary start}}
Line 15: Line 14:
 
* {{AUR|cerbere-bzr}}: Watchdog service to keep core Pantheon apps running
 
* {{AUR|cerbere-bzr}}: Watchdog service to keep core Pantheon apps running
 
* {{AUR|gala-bzr}}: Window Manager
 
* {{AUR|gala-bzr}}: Window Manager
* {{AUR|pantheon-wallpaper-bzr}}: Wallpaper drawer
 
 
* {{AUR|wingpanel-bzr}}: Top panel
 
* {{AUR|wingpanel-bzr}}: Top panel
 
* {{AUR|slingshot-launcher-bzr}}: Application launcher
 
* {{AUR|slingshot-launcher-bzr}}: Application launcher
Line 26: Line 24:
 
* {{AUR|dexter-contacts-bzr}}: Contacts manager (does not build)
 
* {{AUR|dexter-contacts-bzr}}: Contacts manager (does not build)
 
* {{AUR|eidete-bzr}}: Simple screencaster
 
* {{AUR|eidete-bzr}}: Simple screencaster
 +
* {{Pkg|elementary-icon-theme}}: elementary icons
 
* {{AUR|elementary-scan-bzr}}: Simple scan utility
 
* {{AUR|elementary-scan-bzr}}: Simple scan utility
 +
* {{AUR|gtk-theme-elementary4.0-bzr}}: elementary GTK theme
 
* {{AUR|feedler-bzr}}: RSS feeds reader (does not build)
 
* {{AUR|feedler-bzr}}: RSS feeds reader (does not build)
 
* {{AUR|footnote-bzr}}: Note taking app
 
* {{AUR|footnote-bzr}}: Note taking app
Line 32: Line 32:
 
* {{AUR|indicator-pantheon-session-bzr}}: Session indicator
 
* {{AUR|indicator-pantheon-session-bzr}}: Session indicator
 
* {{AUR|lightdm-pantheon-greeter-bzr}}: LightDM greeter
 
* {{AUR|lightdm-pantheon-greeter-bzr}}: LightDM greeter
* {{AUR|maya-calendar-bzr}}: Calendar (does not build)
+
* {{AUR|maya-calendar-bzr}}: Calendar
 
* {{AUR|midori-granite}}: Web browser
 
* {{AUR|midori-granite}}: Web browser
 
* {{AUR|noise-bzr}}: Audio player
 
* {{AUR|noise-bzr}}: Audio player
Line 50: Line 50:
  
 
===Additional Infos===
 
===Additional Infos===
 +
 +
====Unofficial repository====
 +
 +
I have set up an unofficial repository for pantheon packages: http://pkgbuild.com/~alucryd/pantheon/. Add the following lines at the top of your sources in {{Ic|/etc/pacman.conf}}:
 +
 +
[pantheon]
 +
SigLevel = Optional
 +
Server = http://pkgbuild.com/~alucryd/$repo/$arch
 +
 +
{{Note|This repository only contains some stable packages atm. A bug in {{Pkg|devtools}} makes it impossible to build bzr packages. Patch has already been submitted, but since the build server cannot be patched, we need to wait for the next devtools release.}}
  
 
====Github repository====
 
====Github repository====
Line 55: Line 65:
 
All Pantheon related PKGBUILDs can be found on my GitHub repository: https://github.com/alucryd/aur-alucryd/tree/master/pantheon
 
All Pantheon related PKGBUILDs can be found on my GitHub repository: https://github.com/alucryd/aur-alucryd/tree/master/pantheon
  
You will need to build at least 'bamf' from there because the AUR package is out of date. Some other packages which do not belong to me can be found in the AUR, you should build those packages from the GitHub repo if available as they are packaged differently.
+
You will need to build at least ''bamf'' from there because the AUR package is out of date. Some other packages which do not belong to me can be found in the AUR, you should build those packages from the GitHub repo if available as they are packaged differently.
  
====Stable releases====
+
====Packages based on older evolution-data-server====
  
Several of the listed packages have seen stable releases, it is recommended to use them when available, they are available on the GitHub repository and in the AUR.
+
{{AUR|dexter-contacts-bzr}}, {{AUR|feedler-bzr}} and {{AUR|maya-calendar-bzr}} do not build because they are based on evolution-data-server 3.2. Arch Linux provides version 3.8 which uses a different Vala API.
  
====Packages based on older evolution-data-server====
+
====Wallpaper drawer====
  
{{AUR|dexter-contacts-bzr}}, {{AUR|feedler-bzr}} and {{AUR|maya-calendar-bzr}} do not build because they are based on evolution-data-server 3.2. Arch Linux provides version 3.8 which uses a different API.
+
The pantheon wallpaper drawer, {{AUR|pantheon-wallpaper-bzr}}, has been deprecated in favor of the GNOME drawer. This used to be handled by nautilus, but since GNOME 3.8 it is handled directly by gnome-shell, which means we can't have GNOME drawing the wallpaper anymore.
 +
 
 +
Somehow, we can't use {{Pkg|nitrogen}} either because gala seems to paint a black background all over it (kill gala and the wallpaper appears). Please keep using the deprecated drawer until a solution is found.
 +
 
 +
{{Note|There is a branch of gala which supports mutter 3.8. This branch enables gala to draw the wallpaper specified by the GNOME gsettings key directly. You can install {{AUR|gala-mutter38-bzr}} from the AUR to try it out.}}
  
 
==Launching Pantheon==
 
==Launching Pantheon==
Line 71: Line 85:
 
{{AUR|pantheon-session-bzr}} provides a session entry for display managers such as {{Pkg|gdm}} or {{Pkg|lightdm}}.
 
{{AUR|pantheon-session-bzr}} provides a session entry for display managers such as {{Pkg|gdm}} or {{Pkg|lightdm}}.
  
{{Note|Currently, {{AUR|pantheon-session-bzr}} uses a custom gnome-session with desktop files in {{Ic|/etc/xdg/autostart}}. This method will not work with the current version of GNOME (this is the same for the GNOME/Openbox session too).}}
+
{{Note|Either use the bzr version of ''cerbere'' or add 'gala' to the monitored processes for this to work.}}
  
 
===Via .xinitrc===
 
===Via .xinitrc===
Line 78: Line 92:
  
 
  #!/bin/sh
 
  #!/bin/sh
#
+
 
# ~/.xinitrc
+
#
+
# Executed by startx (run your window manager from here)
+
+
 
  if [ -d /etc/X11/xinit/xinitrc.d ]; then
 
  if [ -d /etc/X11/xinit/xinitrc.d ]; then
 
   for f in /etc/X11/xinit/xinitrc.d/*; do
 
   for f in /etc/X11/xinit/xinitrc.d/*; do
Line 97: Line 107:
 
  eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
 
  eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
 
  export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK
 
  export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK
  cerbere &
+
  exec cerbere
pantheon-wallpaper &
+
 
exec gala
+
{{Note|Either use the bzr version of ''cerbere'' or add 'gala' to the monitored processes for this to work.}}
 +
 
 +
===Autostart applications===
 +
 
 +
Pantheon, when launched via {{Ic|~/.xinitrc}}, does not support XDG autostart. However, there are 2 other ways to achieve this for applications which do not provide a systemd unit:
 +
 
 +
* You may add any program to your {{Ic|~/.xinitrc}}, preferably right between the ''cerbere'' and ''gala'' lines. This is the better choice for one-shot programs.
 +
* Or you may edit the {{Ic|org.pantheon.cerbere.monitored-processes}} key using ''dconf-editor'' and add the programs of your choice. This method is best for applications which keep running in the background.
  
You may add any other program you'd like to start with Pantheon as well.
+
{{Note|Keep in mind that applications started via ''cerbere'' cannot be terminated, they will keep respawning.}}
  
 
==Configuration==
 
==Configuration==
  
Configuring Pantheon is done via {{AUR|switchboard-bzr}} and its plugs, some of which are available in the AUR, but close to none work as intended for the moment. Instead, most pantheon settings can be altered via ''dconf'', they are located in the {{Ic|org.pantheon}} key. Use {{Pkg|dconf-editor}} for easy editing.  
+
Configuring Pantheon is done via {{AUR|switchboard-bzr}} and its plugs, some of which are available in the AUR, but close to none work as intended for the moment. Instead, most pantheon settings can be altered via ''dconf'', they are located in the {{Ic|org.pantheon}} key. Use ''dconf-editor'' for easy editing.  
  
 
Also, part of the configuration is handled by {{Pkg|gnome-control-center}} via a dedicated plug, which unfortunately does not support GNOME 3.8. Use {{Pkg|gnome-control-center}} itself and {{Pkg|gnome-tweak-tool}} instead.
 
Also, part of the configuration is handled by {{Pkg|gnome-control-center}} via a dedicated plug, which unfortunately does not support GNOME 3.8. Use {{Pkg|gnome-control-center}} itself and {{Pkg|gnome-tweak-tool}} instead.

Revision as of 16:05, 4 September 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki: A DE which is also based on GTK3. Template:Article summary end

Pantheon is the default desktop environment originally created for the elementary OS distribution. It is written from scratch using Vala and the GTK3 toolkit. With regards to usability and appearance, the desktop has some similarities with GNOME Shell and Mac OS X.

Installation

Pantheon is split into several packages which are available in the AUR. To get a minimal desktop interface, you may start by installing pantheon-session-bzrAUR. This will pull the following core components:

Additionally, you may install the following packages:

Note: You will also need to install plugs, look for "switchboard-plug-*" in the AUR.

Additional Infos

Unofficial repository

I have set up an unofficial repository for pantheon packages: http://pkgbuild.com/~alucryd/pantheon/. Add the following lines at the top of your sources in /etc/pacman.conf:

[pantheon]
SigLevel = Optional
Server = http://pkgbuild.com/~alucryd/$repo/$arch
Note: This repository only contains some stable packages atm. A bug in devtools makes it impossible to build bzr packages. Patch has already been submitted, but since the build server cannot be patched, we need to wait for the next devtools release.

Github repository

All Pantheon related PKGBUILDs can be found on my GitHub repository: https://github.com/alucryd/aur-alucryd/tree/master/pantheon

You will need to build at least bamf from there because the AUR package is out of date. Some other packages which do not belong to me can be found in the AUR, you should build those packages from the GitHub repo if available as they are packaged differently.

Packages based on older evolution-data-server

dexter-contacts-bzrAUR, feedler-bzrAUR and maya-calendar-bzrAUR do not build because they are based on evolution-data-server 3.2. Arch Linux provides version 3.8 which uses a different Vala API.

Wallpaper drawer

The pantheon wallpaper drawer, pantheon-wallpaper-bzrAUR, has been deprecated in favor of the GNOME drawer. This used to be handled by nautilus, but since GNOME 3.8 it is handled directly by gnome-shell, which means we can't have GNOME drawing the wallpaper anymore.

Somehow, we can't use nitrogen either because gala seems to paint a black background all over it (kill gala and the wallpaper appears). Please keep using the deprecated drawer until a solution is found.

Note: There is a branch of gala which supports mutter 3.8. This branch enables gala to draw the wallpaper specified by the GNOME gsettings key directly. You can install gala-mutter38-bzrAUR from the AUR to try it out.

Launching Pantheon

Via a Display Manager

pantheon-session-bzrAUR provides a session entry for display managers such as gdm or lightdm.

Note: Either use the bzr version of cerbere or add 'gala' to the monitored processes for this to work.

Via .xinitrc

You can also use ~/.xinitrc with slim to launch the Pantheon shell. The following code will successfully launch a Pantheon session:

#!/bin/sh
 
if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi

gsettings-data-convert &
xdg-user-dirs-gtk-update &
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
/usr/lib/gnome-settings-daemon/gnome-settings-daemon &
/usr/lib/gnome-user-share/gnome-user-share &
eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK
exec cerbere
Note: Either use the bzr version of cerbere or add 'gala' to the monitored processes for this to work.

Autostart applications

Pantheon, when launched via ~/.xinitrc, does not support XDG autostart. However, there are 2 other ways to achieve this for applications which do not provide a systemd unit:

  • You may add any program to your ~/.xinitrc, preferably right between the cerbere and gala lines. This is the better choice for one-shot programs.
  • Or you may edit the org.pantheon.cerbere.monitored-processes key using dconf-editor and add the programs of your choice. This method is best for applications which keep running in the background.
Note: Keep in mind that applications started via cerbere cannot be terminated, they will keep respawning.

Configuration

Configuring Pantheon is done via switchboard-bzrAUR and its plugs, some of which are available in the AUR, but close to none work as intended for the moment. Instead, most pantheon settings can be altered via dconf, they are located in the org.pantheon key. Use dconf-editor for easy editing.

Also, part of the configuration is handled by gnome-control-center via a dedicated plug, which unfortunately does not support GNOME 3.8. Use gnome-control-center itself and gnome-tweak-tool instead.