Difference between revisions of "Pantheon"

From ArchWiki
Jump to: navigation, search
(Initial creation. Article is working progress.)
 
m (Installation)
(44 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Stub}}
 
 
[[Category:Desktop environments]]
 
[[Category:Desktop environments]]
 
{{Article summary start}}
 
{{Article summary start}}
Line 11: Line 10:
 
==Installation==
 
==Installation==
  
Pantheon is split into several packages which are all available from the [[AUR]]. To get a complete desktop interface, install at least the following additional packages:
+
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|pantheon-wallpaper-bzr}}: Wallpaper collection
+
* {{Aur|pantheon-greeter}}: Session manager based on LightDM.
+
* {{AUR|cerbere-bzr}}: Watchdog service to keep core Pantheon apps running
* {{Aur|pantheon-wingpanel}}: Top panel, similar in function to GNOME Shell's top panel.
+
* {{AUR|gala-bzr}}: Window Manager
* {{Aur|pantheon-slingshot}}: Application launcher located in WingPanel.
+
* {{AUR|wingpanel-bzr}}: Top panel
* {{Aur|pantheon-plank}}: Dock based on Docky.
+
* {{AUR|slingshot-launcher-bzr}}: Application launcher
* {{Aur|pantheon-switchboard}}: Settings application (or control panel).
+
* {{AUR|plank-bzr}}: Pantheon bottom dock
* {{Aur|pantheon-midori}}: Web browser based on WebKit.
 
* {{Aur|pantheon-geary}}: Email client.
 
* {{Aur|pantheon-calendar}}: Desktop calendar.
 
* {{Aur|pantheon-music}}: Audio player
 
* {{Aur|pantheon-scratch}}: Simple text editor.
 
* {{Aur|pantheon-terminal}}: Terminal emulator
 
* {{Aur|pantheon-files}}: File manager.
 
  
=== Starting Pantheon ===
+
Additionally, you may install the following packages:
 +
 
 +
* {{AUR|audience-bzr}}: Video player
 +
* {{AUR|contractor-bzr}}: Service for sharing data between apps
 +
* {{AUR|dexter-contacts-bzr}}: Contacts manager (does not build)
 +
* {{AUR|eidete-bzr}}: Simple screencaster
 +
* {{Pkg|elementary-icon-theme}}: elementary icons
 +
* {{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|footnote-bzr}}: Note taking app
 +
* {{Pkg|geary}}: Email client
 +
* {{AUR|indicator-pantheon-session-bzr}}: Session indicator
 +
* {{AUR|lightdm-pantheon-greeter-bzr}}: LightDM greeter
 +
* {{AUR|maya-calendar-bzr}}: Calendar
 +
* {{AUR|midori-granite}}: Web browser
 +
* {{AUR|noise-bzr}}: Audio player
 +
* {{AUR|pantheon-calculator-bzr}}: Calculator
 +
* {{AUR|pantheon-files-bzr}}: File explorer
 +
* {{AUR|pantheon-notify-bzr}}: Notification daemon
 +
* {{AUR|pantheon-print-bzr}}: Print settings
 +
* {{AUR|pantheon-terminal-bzr}}: Terminal emulator
 +
* {{AUR|plank-theme-pantheon-bzr}}: Pantheon theme for plank
 +
* {{AUR|scratch-text-editor-bzr}}: Text editor
 +
* {{AUR|snap-photobooth-bzr}}: Webcam app
 +
* {{AUR|switchboard-bzr}}: Settings manager
 +
 
 +
{{Note|You will also need to install plugs, look for "switchboard-plug-*" in the [[AUR]].}}
 +
 
 +
* {{AUR|webcontracts-bzr}}: Web services contracts for use with contractor-bzr
 +
 
 +
===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====
 +
 
 +
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====
 +
 
 +
{{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.
 +
 
 +
====Wallpaper drawer====
 +
 
 +
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==
 +
 
 +
===Via a Display Manager===
 +
 
 +
{{AUR|pantheon-session-bzr}} provides a session entry for display managers such as {{Pkg|gdm}} or {{Pkg|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 {{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-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 {{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 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 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.