Difference between revisions of "Pantheon"

From ArchWiki
Jump to navigation Jump to search
m (link to pkgbuilds/pacman/makepkg)
m (scratch -> code)
Line 61: Line 61:
* {{Pkg|pantheon-files}} or {{AUR|pantheon-files-git}}: File explorer developed from Marlin
* {{Pkg|pantheon-files}} or {{AUR|pantheon-files-git}}: File explorer developed from Marlin
* {{Pkg|pantheon-terminal}} or {{AUR|pantheon-terminal-git}}: Terminal emulator
* {{Pkg|pantheon-terminal}} or {{AUR|pantheon-terminal-git}}: Terminal emulator
* {{Pkg|scratch-text-editor}}{{Broken package link|replaced by {{Pkg|pantheon-code}}}} or {{AUR|pantheon-code-git}}: Text editor formerly known as "Scratch"
* {{Pkg|pantheon-code}} or {{AUR|pantheon-code-git}}: Text editor formerly known as "Scratch"
* {{AUR|pantheon-calculator}} or {{AUR|pantheon-calculator-git}}: Calculator
* {{AUR|pantheon-calculator}} or {{AUR|pantheon-calculator-git}}: Calculator
* {{Pkg|pantheon-music}} or {{AUR|pantheon-music-git}}: Audio player formerly known as "Noise"
* {{Pkg|pantheon-music}} or {{AUR|pantheon-music-git}}: Audio player formerly known as "Noise"

Revision as of 00:09, 9 August 2018

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.

Project Status

Although the elementary OS release schedule and toolchain are bound to Ubuntu's LTS release cycle, development moves quickly and has recently moved to github.



Unofficial repository

Warning: The pantheon repository is no more, from now on pantheon packages will be available in the extra-alucryd repository, and they will be signed.

Alucryd's unofficial repo contains more and more up-to-date packages than the few available in community. To use it add the following lines at the top of your sources in /etc/pacman.conf:

Server = https://pkgbuild.com/~alucryd/$repo/$arch


The PKGBUILDs for the pantheon packages are also available in the AUR.

Desktop Environment

For the minimal Pantheon shell, install pantheon-session-gitAUR, which pulls--among other dependencies--the core components:

Services and Configuration

These packages provide background services and default settings for Pantheon and elementary OS applications:


These packages contribute to the look and feel of the desktop:

It is also recommended to install the following fonts:


These are some of the original, patched, and selected packages that comprise the elementary OS software suite:

Launching Pantheon

Via Display manager

pantheon-session-gitAUR provides a gnome-session entry for display managers such as gdm or lightdm.

Autostart applications with a display manager

Pantheon is a gnome-session, and as such implements XDG Autostart.

Via xinit

Alternatively, you can use ~/.xinitrc to launch the Pantheon shell, by adding exec cerbere to the end of the file.

Autostart applications with xinit

For applications which do not provide a systemd unit, consider these options:

  • Run once when X starts:
Add it to your ~/.xinitrc Shell script, before the exec cerbere line.
  • Keep running in the background:
Add it to the dconf key org.pantheon.desktop.cerbere.monitored-processes.
Should the process stop, cerbereAUR will respawn it.
Use a program like dapperAUR, dex-gitAUR, or fbautostartAUR to implement XDG Autostart.


Configure Pantheon via switchboardAUR or switchboard-gitAUR and its plugs (switchboard-plug-*), which must be installed separately. Not all of gnome-control-center's settings panels have been ported. In addition, except plank, all the Pantheon components store their configuration in the org.pantheon or io.elementary gsettings keys, which can be edited with dconf-editor.


Wingpanel does not come with any indicators; they must be installed separately.

At the minimum, you'll probably want to install:

Note: wingpanelAUR supports Ayatana indicators, while wingpanel-gitAUR has native indicators (wingpanel-indicator-*-git).

Third-party indicators

  • If launched by ~/.xinitrc, add third-party indicators to one of the start-up methods described above.

Indicator-session menus unresponsive

  • indicator-sessionAUR relies on dbus methods provided by Unity for most of its functions and fails to fallback to gnome or systemd methods in its absence.


Adding new application icons

Either drag and drop a desktop file on to the dock, or right click on a running application and select "Keep in dock". You can then reorder icons by drag and drop.

Note: Plank stores .dockitem launchers in ~/.config/plank/ and configuration in the gsettings key net.launchpad.plank

Pantheon Files

Enable context menu entries

If you want to enable context menu entries such as for file-roller to extract/compress archives, then you have to additionally install contractor or contractor-gitAUR.



To make pantheon-terminal (semi-)transparent, set the dconf key org.pantheon.terminal.settings.opacity to your desired opacity; for pantheon-terminal-gitAUR, the background color and transparency are set by io.elementary.terminal.settings.background.

Known Issues

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: This information is quite old; some of these issues may have been resolved. (Discuss in Talk:Pantheon#)


Pantheon-terminal transparency

Transparency in pantheon-terminal is not yet fully functional with GTK themes other than the elmentary OS theme. Either use gtk-theme-elementaryAUR, gtk-theme-elementary-gitAUR or add this code to your theme or the override file in ~/.config/gtk-3.0/gtk.css.

Wingpanel transparency

Wingpanel is transparent by design when using gtk-theme-elementaryAUR or gtk-theme-elementary-gitAUR, and becomes opaque 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, add the following lines to the end of its css or the override file in ~/.config/gtk-3.0/gtk.css:

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

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