Difference between revisions of "Pantheon"

From ArchWiki
Jump to: navigation, search
(Via .xinitrc)
(Installation)
(37 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Stub|As of now Pantheon does not run on Arch. 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
 +
 +
{{Note|You will need to install at least one indicator, otherwise wingpanel will not launch.}}
 +
 
* {{AUR|slingshot-launcher-bzr}}: Application launcher
 
* {{AUR|slingshot-launcher-bzr}}: Application launcher
 
* {{AUR|plank-bzr}}: Pantheon bottom dock
 
* {{AUR|plank-bzr}}: Pantheon bottom dock
* {{AUR|pantheon-files-bzr}}: File explorer
 
 
  
 
Additionally, you may install the following packages:
 
Additionally, you may install the following packages:
Line 28: Line 27:
 
* {{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-elementary}}: 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 34: Line 35:
 
* {{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
+
* {{Pkg|noise}}: Audio player
 
* {{AUR|pantheon-calculator-bzr}}: Calculator
 
* {{AUR|pantheon-calculator-bzr}}: Calculator
 +
* {{AUR|pantheon-files-bzr}}: File explorer
 
* {{AUR|pantheon-notify-bzr}}: Notification daemon
 
* {{AUR|pantheon-notify-bzr}}: Notification daemon
 
* {{AUR|pantheon-print-bzr}}: Print settings
 
* {{AUR|pantheon-print-bzr}}: Print settings
 
* {{AUR|pantheon-terminal-bzr}}: Terminal emulator
 
* {{AUR|pantheon-terminal-bzr}}: Terminal emulator
 +
* {{AUR|plank-theme-pantheon-bzr}}: Pantheon theme for plank
 
* {{AUR|scratch-text-editor-bzr}}: Text editor
 
* {{AUR|scratch-text-editor-bzr}}: Text editor
 
* {{AUR|snap-photobooth-bzr}}: Webcam app
 
* {{AUR|snap-photobooth-bzr}}: Webcam app
Line 50: Line 53:
  
 
===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 68:
 
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 and belongs to another TU who won't answer my plights to use my working PKGBUILD.
+
====Packages based on older evolution-data-server====
Building 'gala-bzr' and 'pantheon-files-bzr' from there is also recommended, {{AUR|pantheon-files-bzr}} has wrong dependencies, but the current maintainer of the AUR packages whished to keep maintaining them and I did not want to abuse my superpowers.
+
  
====Stable releases====
+
{{AUR|dexter-contacts-bzr}} and {{AUR|feedler-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.
  
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.
+
====Wallpaper drawer====
  
====Packages based on older evolution-data-server====
+
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.
  
{{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.
+
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 72: Line 86:
 
{{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===
  
You can also use {{Ic|~/.xinitrc}} with {{Pkg|slim}} to launch the Pantheon shell, using the following code:
+
You can also use {{Ic|~/.xinitrc}} with {{Pkg|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-settings-daemon/gnome-settings-daemon &
  pantheon-wallpaper &
+
  /usr/lib/gnome-user-share/gnome-user-share &
  cerbere &
+
  eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
  exec gala
+
export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK
 +
  exec cerbere
  
You may add any other program you'd like to start with Pantheon as well.
+
{{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.
 +
 
 +
{{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 them are available in the AUR, but not all work as intended for the moment.
+
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.

Revision as of 13:15, 24 October 2013

Summary help replacing me
This article covers basic installation procedures and configuration methods for Pantheon, the default desktop environment of elementary OS.
Related
GNOME: A DE which is also based on GTK3.

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:

Note: You will need to install at least one indicator, otherwise wingpanel will not launch.

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

Packages based on older evolution-data-server

dexter-contacts-bzrAUR and feedler-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.