Pantheon

Related articles
Desktop environment
Pantheon
is the desktop environment of
elementary OS
. It is written in
Vala
, using
GTK 3
and
Granite
.
Development
elementary OS
releases are derived from
Ubuntu's
LTS releases, typically trailing Ubuntu's cycle by a few weeks or months. However, its constituent packages are updated continuously. See the official
github repository
and consult their
community slack
.
Installation
Package sources
Official repository
The Pantheon desktop environment and elementary OS's curated applications are provided by the
pantheon
group.
Unofficial repository
extra-alucryd
contains
a few packages
not yet available in the
pantheon
group.
AUR
PKGBUILDs
for many Pantheon-related packages, such as third-party applications developed for elementary OS and unstable development packages, are available in the
AUR
.
Warning
Do not install AUR packages indiscriminately.
Desktop environment
For the minimal Pantheon shell, install
pantheon-session
, which pulls several dependencies and core components:
gala
: Window and compositing manager
wingpanel
: Top panel for application launcher, clock, and indicators
pantheon-applications-menu
: Application launcher formerly known as "Slingshot"
plank
: macOS-style Dock
Services
These optional packages provide (background) services for Pantheon and elementary OS applications:
pantheon-geoclue2-agent
: Geoclue2 authentication agent
pantheon-polkit-agent
: Polkit authentication agent
pantheon-print
: Print settings dialog
pantheon-settings-daemon
: Supplemental settings daemon
Theme and configuration
These optional packages contribute to the look and feel of the desktop:
lightdm-pantheon-greeter
: LightDM greeter
pantheon-default-settings
: Default appearance, behavior, and configuration.
Note
Contains settings for theme packages and fonts to be installed separately:
elementary-icon-theme
: Vector icon theme from which elementary originated
elementary-wallpapers
: elementary OS wallpaper collection
gtk-theme-elementary
: elementary OS stylesheet
ttf-droid
: General-purpose fonts from Google's Android
ttf-opensans
: Sans-serif fonts from Google
ttf-roboto
: Google’s signature family of fonts
sound-theme-elementary
: A set of system sounds
switchboard
: Pluggable settings manager similar to
gnome-control-center
Applications
These are some of the original, patched, and selected packages that comprise the optional elementary OS software suite:
capnet-assist
: Easily log into public WiFi networks
epiphany
: Web browser
pantheon-calculator
: Calculator
pantheon-camera
: Webcam app formerly known as "Snap"
pantheon-code
: Text editor formerly known as "Scratch"
pantheon-files
: File explorer developed from Marlin
pantheon-music
: Audio player formerly known as "Noise"
pantheon-photos
: Photo manager developed from Shotwell
pantheon-screencast
AUR
: Simple screencaster forked from Eidete
pantheon-screenshot
: Screenshot utility
pantheon-shortcut-overlay
: OS-wide shortcut overlay
pantheon-terminal
: Terminal emulator
pantheon-videos
: Video player formerly known as "Audience" (GStreamer backend)
simple-scan
: Simple scan utility
Launching Pantheon
Via display manager
pantheon-session
provides a
gnome-session
entry for display managers, such as
LightDM
.
Autostart applications with a display manager
Use
XDG Autostarts
.
Use
systemd units
.
Via xinit
Use
xinitrc
to launch the Pantheon shell components by
appending
them at the end of the file, ie:
~/.xinitrc
...
io.elementary.wingpanel &
plank &
exec gala
Autostart applications with xinit
Run something just once, when X starts, by adding it to
xinitrc
before the
exec gala
line.
Use
systemd units
.
Use
XDG Autostarts
via
dapper
AUR
,
dex-git
AUR
, or
fbautostart
AUR
.
Configuration and workarounds
Configure Pantheon via
switchboard
and its plugs, which must be installed separately.
Pantheon components, except for
plank
, store their configuration in the
org.pantheon
or
io.elementary
dconf keys
.
Note
switchboard-plug-pantheon-tweaks-git
AUR
provides easy access to
customizations for various aspects of the Pantheon desktop and applications
, similar to
gnome-tweaks
.
General
Missing D-Bus services
Pantheon components and elementary OS software are increasingly delegating certain functions to the
gala
window manager, in preparation for the transition to
Wayland
. If you are using another window manager with Pantheon components or elementary OS software, you may see errors like the following:
** (io.elementary.screenshot:10150): ERROR **: 15:17:28.099: ScreenshotBackend.vala:37: Couldn't get dbus proxy: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Shell.Screenshot was not provided by any .service files
In this situation, you have a few options:
Downgrade to a version of the software prior to when this dbus request was implemented.
Use the
gala
window manager.
Implement the missing interfaces on your own.
Find a different software for the functionality you are seeking (e.g. a different screenshot tool)
"No such key" when installing packages
Several dconf keys
pantheon-default-settings
expects are missing, as it is written for an older version of
gnome-settings-daemon
. This is not a problem, but if the messages are an annoyance, comment out or remove the specified keys from
/usr/share/glib-2.0/schemas/25_pantheon-default-settings.gschema.override
.
Desktop
Crashes at login
"Oh no! Something has gone wrong."
One of the
RequiredComponents
in Pantheon's session file may be failing.
This may be worked around by removing the failed component from
/usr/share/gnome-session/sessions/pantheon.session
.
Tip
Most often, the culprit is one or more of the
gnome-settings-daemon
services.
Returns to display manager
See
gnome-session crashes on session startup
.
Tip
Most of the time, waiting a little longer to log in is sufficent to clear whatever blockage the previous session has left behind.
Incorrect screen resolutions with multiple monitors
lightdm-pantheon-greeter
attempts to setup monitors from
monitors.xml
, instead of Xorg configuration, which
does not seem to work reliably
.
An alternative is to use another greeter, such as
lightdm-gtk-greeter
.
Touchpad gestures
Install
touchegg
. However, this package comes with some gestures that could conflict with pantheon's gestures. You can copy
/usr/share/touchegg/touchegg.conf
to
~/.local/share/touchegg/
and delete these gesture settings. For more instructions, refer to
Touchegg
.
Change wallpaper and text scaling
Install
switchboard-plug-desktop
and configure in switchboard.
Files
Plank
See
Plank
.
Not launching at startup
Since cerbere was retired,
pantheon-session
expects plank to use
this xdg autostart
to initiate and request gnome-session's built in management to maintain it.
Note
X-GNOME-Autostart-Phase=Panel
should be commented out to avoid stalls on startup.
Either install
pantheon-dock-git
AUR
, or create
/etc/xdg/autostart/plank.desktop
.
Terminal
Opacity
Set the dconf key
io.elementary.terminal.settings.background
to your desired background color and opacity with an RGBA value, ie the default:
rgba(46, 46, 46, 0.95)
.
Wingpanel
Indicators
Wingpanel does not come with any indicators; they must be installed separately.
At the minimum, you will probably want to install:
pantheon-applications-menu
: Applications menu and "Run" dialog
wingpanel-indicator-datetime
: Clock and calendar widget
wingpanel-indicator-session
: User and session menu (Switch user, Logout, Shutdown, etc.)
Third-party indicators
When launched
#Via display manager
, if third-party indicators'
XDG Autostarts
contain
OnlyShowIn=
, append
Pantheon;
to it.
Session indicator menus unresponsive
The
Lock
menu item requires a
Lock
dbus method provided by an
org.gnome.ScreenSaver
dbus service.
The
Shutdown...
and
Log Out..
menu items request dialogs which require the
gala
window manager to appear. If you intend to use any other window manager, an alternative is required—such as
wingpanel-indicator-session-git
AUR
.
Dynamic transparency
The
gala
window manager provides Wingpanel with dynamic transparency.
With
gtk-theme-elementary
, it becomes opaque when a maximized window occupies the screen and otherwise blends with the wallpaper; using other GTK themes may produce a statically opaque panel.
To achieve the behavior within another theme, add the following code to its css or the override file,
~/.config/gtk-3.0/gtk.css
:
/*********************
 * wingpanel support *
 ********************/

.panel {
    background-color: transparent;
    transition: all 1s ease-in-out;
}

.panel.maximized {
    background-color: #000;
}