Pantheon
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 macOS.
Installation
Pantheon is split into several packages which are available in an unofficial repository which is daily updated with recent changes from upstream. To use the repository add the following lines at the top of your sources in /etc/pacman.conf
:
[pantheon] SigLevel = Optional Server = https://pkgbuild.com/~alucryd/$repo/$arch
Alternatively, all packages provided by the repository are also available in the AUR for those who prefer to build the packages from source.
To get a minimal desktop interface, you may start by installing pantheon-session-bzrAUR. This will pull the following core components:
- cerbere-bzrAUR: Watchdog service to keep core Pantheon apps running
- gala-bzrAUR: Window Manager
- wingpanel-bzrAUR: Top panel
- slingshot-launcher-bzrAUR: Application launcher
- plank-bzrAUR: Dock
However,it is recommended to install the following packages to get a fully working Pantheon Shell:
- audience-bzrAUR: Video player
- contractor-bzrAUR: Service for sharing data between apps
- dexter-contacts-bzrAUR[broken link: archived in aur-mirror]: Contacts manager (does not build)
- eidete-bzrAUR: Simple screencaster
- elementary-icon-theme-bzrAUR: elementary icons
- elementary-scan-bzrAUR: Simple scan utility (does not build)
- elementary-wallpapers-bzrAUR[broken link: archived in aur-mirror]: elementary wallpaper collection
- gtk-theme-elementary-bzrAUR: elementary GTK theme
- feedler-bzrAUR[broken link: archived in aur-mirror]: RSS feeds reader (does not build)
- footnote-bzrAUR: Note taking app
- geary: Email client
- indicator-pantheon-session-bzrAUR[broken link: archived in aur-mirror]: Session indicator
- lightdm-pantheon-greeter-bzrAUR: LightDM greeter
- maya-calendar-bzrAUR: Calendar
- midori-granite-bzrAUR: Web browser
- noise-player-bzrAUR: Audio player
- pantheon-backgrounds-bzrAUR: Wallpaper collection
- pantheon-calculator-bzrAUR: Calculator
- pantheon-default-settings-bzrAUR: Pantheon default's settings (appearance, etc.)
- pantheon-files-bzrAUR: File explorer
- pantheon-notify-bzrAUR[broken link: archived in aur-mirror]: Notification daemon
- pantheon-print-bzrAUR: Print settings
- pantheon-terminal-bzrAUR: Terminal emulator
- plank-theme-pantheon-bzrAUR: Pantheon theme for plank
- scratch-text-editor-bzrAUR: Text editor
- snap-photobooth-bzrAUR: Webcam app
- switchboard-bzrAUR: Settings manager
It is also recommended to install the following fonts:
- ttf-opensansAUR: Open Sans Fonts
- ttf-raleway-font-familyAUR[broken link: archived in aur-mirror]: Raleway Font Family
- ttf-dejavu: Font family based on the Bitstream Vera Fonts
- ttf-droid: General-purpose fonts released by Google as part of Android
- ttf-freefont: Set of free outline fonts covering the Unicode character set
- ttf-liberation: Red Hats Liberation fonts
Additional Info
Packages based on older evolution-data-server
dexter-contacts-bzrAUR[broken link: archived in aur-mirror] and feedler-bzrAUR[broken link: archived in aur-mirror] 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.
Launching Pantheon
Via a Display Manager
pantheon-session-bzrAUR provides a session entry for display managers such as gdm or lightdm.
Via .xinitrc
You can also use ~/.xinitrc
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
Autostart applications
Pantheon, when launched via ~/.xinitrc
, does not support XDG autostart. However, there are 3 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. - Or you may use a program like dapperAUR, dex-gitAUR, or fbautostartAUR to add support for XDG autostart in your
~/.xinitrc
.
Configuration
Configuring Pantheon is done via switchboard-bzrAUR and its plugs, most are available in the AUR and the custom repo. All pantheon settings can also be altered via dconf, they are located in the org.pantheon
key. Use dconf-editor for easy editing.
Part of the configuration is handled by gnome-control-center via a dedicated plug, which unfortunately only supports GNOME up to 3.6. Use gnome-control-center itself and gnome-tweak-tool instead.
Pantheon Files
If you want to enable context menu entries such as for file-roller to extract/compress archives, then you have to additionally install contractor-bzrAUR.
Terminal
Opacity (transparency)
You can set a certain opacity to make Pantheon Terminal (semi-)transparent. Open dconf-editor
and go to org.pantheon.terminal.settings.opacity
to set your desired opacity.
Known Issues
Indicators not working in wingpanel
Make sure the /etc/xdg/autostart/indicator-[name].desktop file contains Pantheon inside OnlyShowIn=
OnlyShowIn=Unity;XFCE;GNOME;Pantheon;
- indicator-session-bzrAUR[broken link: archived in aur-mirror]
This version of indicator-session relies on dbus methods native to Unity for most of its fuctions; it can be made to work by patching out the use of Unity dialogs, such as in indicator-session-pantheon-bzr
This version of indicator-session fails to interact with the session manager somehow; a (crudely hacked) version that uses systemd/logind instead is available indicator-session-systemdAUR[broken link: archived in aur-mirror]
About This Computer, Lock and Sound Settings (indicator-soundAUR or indicator-sound-pantheon-bzr) rely on gnome components that may not be installed, such as gnome-control-center and gnome-screensaver.
For Lock functionality (including "Ctrl+L" hotkey), replace gnome-screensaver with light-locker or XScreenSaver and a script that emulates the gnome-screensaver dbus.
No transparency in pantheon-terminal
Transparency in pantheon-terminal is not yet fully functional with GTK themes other than the elmentaryOS theme. Either use gtk-theme-elementaryAUR or add this code to your theme.
White icons in pantheon-files
Currently there seems to be a bug which displays the view icons in the top location in a white colour instead of black. This can be fixed by installing gtk-theme-elementary-bzrAUR or adding the following line to gtk-widgets.css
or gtk-widgets.css
of your gtk-theme-elementaryAUR theme:
GtkToolItem { color: @text_color; }
Wingpanel is transparent
Wingpanel is transparent by design when using the elementary GTK theme. It becomes black when a maximized window occupies your screen. However, using other GTK themes will produce a solid panel most of the time.
To achieve the former behavior within other themes just add the following lines to the end of it's css. It is mostly found within /usr/share/themes/<theme-name>
or ~/.themes/<theme-name>
. Depending on your theme the filename may be apps.css
or gtk.css
:
/********************* * wingpanel support * ********************/ .panel { background-color: transparent; transition: all 1s ease-in-out; } .panel.maximized { background-color: #000; }
Corrupted graphics in canonical indicators
Indicators behave incorrectly with every theme I have tried. They are very ancient, all of them date back to 2012 because the newer indicators depend on Ubuntu patches, and they should be killed with fire anyway. Wingpanel is doing just that and I hope the next major release will ship their new plugin system.
Cannot interact with the LightDM Pantheon greeter
You need to delete /var/lib/lightdm/.pam_environment
. Do note however that this file is a workaround for the following LightDM bug: https://bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/1024482
Troubleshooting
GTK+ applications surrounded by awful black shadow box
Elementary GTK theme seems to be using its own files and ignoring ~/.config/gtk-3.0/gtk.css
config file. This has been reported on https://bugs.launchpad.net/elementaryos/+bug/1592441. To work around the issue, go to the file /usr/share/themes/elementary/gtk-3.0/gtk-widgets.css
and look for the following (around line 3669):
decoration, .window-frame { border-radius: 4px 4px 0 0; box-shadow: 0 0 0 1px alpha (#000, 0.3), 0 14px 28px rgba(0,0,0,0.35), 0 10px 10px rgba(0,0,0,0.22); margin: 12px; }
Replace the above by the the code below
decoration, .window-frame { box-shadow: none; border: none; padding: 0; margin: 0; }
Gala crashes on start
It appears that unconfigured gala tries to use default gnome wallpaper as a background. However, the corresponding file is absent unless you have gnome-themes-standard installed. Thus, install gnome-themes-standard to workaround the crash. It is safe to remove this package after you configure pantheon in a way you want.
How can I add new applications to the dock?
Either drag and drop a desktop file on it, or right click on a running application and select "Keep in dock". You can then reorder icons by drag and drop.
How can I change the default appearance such as GTK theme, font size, etc?
Install switchboard-plug-elementary-tweaks-bzrAUR. Alternatively, use gnome-tweak-tool or see GTK+.
I do not have any mouse cursor
The 'gala' window manager is most likely not running. #Via .xinitrc Add 'gala' to the list of cerbere's monitored processes.
Wingpanel is empty except for Applications
The indicators that are displayed in the wingpanel are split into separate packages. #Installation Install additional indicators such as wingpanel-indicator-datetime-bzrAUR, indicator-powerAUR[broken link: archived in aur-mirror] or indicator-soundAUR.