Difference between revisions of "Pantheon"

From ArchWiki
Jump to: navigation, search
(Installation)
m (Additional Infos)
(30 intermediate revisions by 4 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 13: Line 12:
 
Pantheon is split into several packages which are available in the [[AUR]]. To get a minimal desktop interface, you may start by installing {{AUR|pantheon-session-bzr}}. This will pull the following core components:
 
Pantheon is split into several packages which are available in the [[AUR]]. To get a minimal desktop interface, you may start by installing {{AUR|pantheon-session-bzr}}. This will pull the following core components:
 
   
 
   
* {{AUR|cerbere-bzr}}: Watchdog service to keep core Pantheon apps running
+
* {{AUR|cerbere}}: Watchdog service to keep core Pantheon apps running
 
* {{AUR|gala-bzr}}: Window Manager
 
* {{AUR|gala-bzr}}: Window Manager
* {{AUR|wingpanel-bzr}}: Top panel
+
* {{AUR|wingpanel}}: Top panel
* {{AUR|slingshot-launcher-bzr}}: Application launcher
+
 
* {{AUR|plank-bzr}}: Pantheon bottom dock
+
{{Note|You will need to install at least one indicator, otherwise wingpanel will not launch.}}
 +
 
 +
* {{AUR|slingshot-launcher}}: Application launcher
 +
* {{Pkg|plank}}: Dock
  
 
Additionally, you may install the following packages:
 
Additionally, you may install the following packages:
Line 27: Line 29:
 
* {{Pkg|elementary-icon-theme}}: elementary icons
 
* {{Pkg|elementary-icon-theme}}: elementary icons
 
* {{AUR|elementary-scan-bzr}}: Simple scan utility
 
* {{AUR|elementary-scan-bzr}}: Simple scan utility
* {{AUR|egtk-bzr}}: elementary GTK theme
+
* {{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 33: 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-files}}: 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}}: Terminal emulator
 
* {{AUR|plank-theme-pantheon-bzr}}: Pantheon theme for plank
 
* {{AUR|plank-theme-pantheon-bzr}}: Pantheon theme for plank
* {{AUR|scratch-text-editor-bzr}}: Text editor
+
* {{AUR|scratch-text-editor}}: Text editor
 
* {{AUR|snap-photobooth-bzr}}: Webcam app
 
* {{AUR|snap-photobooth-bzr}}: Webcam app
* {{AUR|switchboard-bzr}}: Settings manager
+
* {{AUR|switchboard}}: Settings manager
  
 
{{Note|You will also need to install plugs, look for "switchboard-plug-*" in the [[AUR]].}}
 
{{Note|You will also need to install plugs, look for "switchboard-plug-*" in the [[AUR]].}}
Line 50: Line 52:
 
* {{AUR|webcontracts-bzr}}: Web services contracts for use with contractor-bzr
 
* {{AUR|webcontracts-bzr}}: Web services contracts for use with contractor-bzr
  
===Additional Infos===
+
===Additional Info===
  
====Github repository====
+
====Unofficial repository====
  
All Pantheon related PKGBUILDs can be found on my GitHub repository: https://github.com/alucryd/aur-alucryd/tree/master/pantheon
+
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}}:
  
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.
+
[pantheon]
 +
SigLevel = Optional
 +
Server = http://pkgbuild.com/~alucryd/$repo/$arch
  
====Stable releases====
+
====Github repository====
  
Several of the listed packages have seen stable releases, it is recommended to use them when available, they are in both the GitHub repository and the AUR too.
+
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====
 
====Packages based on older evolution-data-server====
  
{{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.
+
{{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.10 which uses a different Vala API.
  
 
====Wallpaper drawer====
 
====Wallpaper drawer====
  
The pantheon wallpaper drawer has been deprecated in favor of the GNOME drawer. This used to be handled by nautilus until GNOME 3.8, but it is handled directly by gnome-shell since GNOME 3.8, which means we can't have GNOME drawing the wallpaper. Instead one can use {{Pkg|nitrogen}} to paint their desktop background.
+
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 76: Line 84:
 
{{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 83: Line 91:
  
 
  #!/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 102: Line 106:
 
  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
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 before the ''exec cerbere'' line. 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 10:32, 23 November 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:

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 Info

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

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.10 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 before the exec cerbere line. 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.