Pantheon: Difference between revisions

From ArchWiki
m (semi-automatic style fixes, see Help:Style)
(update Pkg/AUR templates)
 
(339 intermediate revisions by 33 users not shown)
Line 1: Line 1:
[[Category:Desktop environments]]
[[Category:Desktop environments]]
[[ja:Pantheon]]
[[ja:Pantheon]]
[[pl:Pantheon]]
[[zh-hans:Pantheon]]
[[zh-CN:Pantheon]]
{{Related articles start}}
[http://elementaryos.org/ 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.
{{Related|Desktop environment}}
{{Related articles end}}
[https://bbs.archlinux.org/viewtopic.php?id=152930 Pantheon] is the desktop environment of [https://elementary.io/ elementary OS]. It is written in [[Wikipedia:Vala (programming language)|Vala]], using [[GTK|GTK 3]] and [https://github.com/elementary/granite Granite].


==Installation==
== Development ==


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 {{Ic|/etc/pacman.conf}}:
[https://elementary.io/ elementary OS] releases are derived from [[Arch compared to other distributions#Ubuntu|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 [https://github.com/elementary github repository] and consult their [https://elementarycommunity.slack.com/ community slack].


{{bc|<nowiki>
== Installation ==
[pantheon]
SigLevel = Optional
Server = http://pkgbuild.com/~alucryd/$repo/$arch
</nowiki>}}


{{Note|All Pantheon related PKGBUILDs can be found in [https://github.com/alucryd/aur-alucryd/tree/master/pantheon Alucryd's GitHub repository].}}
=== Package sources ===


Alternatively, all packages provided by the repository are also available in the [[AUR]] for those who prefer to build the packages from source.
==== Official repository ====


To get a minimal desktop interface, you may start by installing {{AUR|pantheon-session-bzr}}. This will pull the following core components:
The Pantheon desktop environment and elementary OS's curated applications are provided by the {{Grp|pantheon}} group.
 
* {{AUR|cerbere-bzr}}: Watchdog service to keep core Pantheon apps running
==== Unofficial repository ====
* {{AUR|gala-bzr}}: Window Manager
 
* {{AUR|wingpanel-bzr}}: Top panel
[[Unofficial user repositories#alucryd|extra-alucryd]] contains [https://github.com/alucryd/aur-alucryd/tree/master/pantheon a few packages] not yet available in the {{Grp|pantheon}} group.
* {{AUR|slingshot-launcher-bzr}}: Application launcher
 
* {{AUR|plank-bzr}}: Dock
==== AUR ====
 
[[PKGBUILD]]s 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 {{Pkg|pantheon-session}}, which pulls several dependencies and core components:
* {{Pkg|gala}}: Window and compositing manager
* {{Pkg|wingpanel}}: Top panel for application launcher, clock, and indicators
* {{Pkg|pantheon-applications-menu}}: Application launcher formerly known as "Slingshot"
* {{Pkg|plank}}: macOS-style Dock
 
=== Services ===
 
These optional packages provide (background) services for Pantheon and elementary OS applications:
* {{Pkg|pantheon-geoclue2-agent}}: Geoclue2 authentication agent
* {{Pkg|pantheon-polkit-agent}}: Polkit authentication agent
* {{Pkg|pantheon-print}}: Print settings dialog
* {{Pkg|pantheon-settings-daemon}}: Supplemental settings daemon
 
=== Theme and configuration ===
 
These optional packages contribute to the look and feel of the desktop:
* {{Pkg|lightdm-pantheon-greeter}}: LightDM greeter
* {{Pkg|pantheon-default-settings}}: Default appearance, behavior, and configuration.
{{Note|Contains settings for theme packages and fonts to be installed separately:
:* {{Pkg|elementary-icon-theme}}: Vector icon theme from which elementary originated
:* {{Pkg|elementary-wallpapers}}: elementary OS wallpaper collection
:* {{Pkg|gtk-theme-elementary}}: elementary OS stylesheet
:* {{Pkg|ttf-droid}}: General-purpose fonts from Google's Android
:* {{Pkg|ttf-opensans}}: Sans-serif fonts from Google
:* {{Pkg|ttf-roboto}}: Google’s signature family of fonts
:* {{Pkg|sound-theme-elementary}}: A set of system sounds}}
* {{Pkg|switchboard}}: Pluggable settings manager similar to {{Pkg|gnome-control-center}}
 
=== Applications ===
 
These are some of the original, patched, and selected packages that comprise the optional elementary OS software suite:
 
* {{Pkg|capnet-assist}}: Easily log into public WiFi networks
* {{Pkg|epiphany}}: Web browser
* {{Pkg|pantheon-calculator}}: Calculator
* {{Pkg|pantheon-camera}}: Webcam app formerly known as "Snap"
* {{Pkg|pantheon-code}}: Text editor formerly known as "Scratch"
* {{Pkg|pantheon-files}}: File explorer developed from Marlin
* {{Pkg|pantheon-music}}: Audio player formerly known as "Noise"
* {{Pkg|pantheon-photos}}: Photo manager developed from {{Pkg|shotwell}}
* {{AUR|pantheon-screencast}}: Simple screencaster forked from {{AUR|eidete-bzr}}{{Broken package link|package not found}}
* {{Pkg|pantheon-screenshot}}: Screenshot utility
* {{Pkg|pantheon-shortcut-overlay}}: OS-wide shortcut overlay
* {{Pkg|pantheon-terminal}}: Terminal emulator
* {{Pkg|pantheon-videos}}: Video player formerly known as "Audience" (GStreamer backend)
* {{Pkg|simple-scan}}: Simple scan utility
 
== Launching Pantheon ==
 
=== Via display manager ===
 
{{Pkg|pantheon-session}} provides a {{Pkg|gnome-session}} entry for display managers, such as [[LightDM]].
 
==== Autostart applications with a display manager ====
 
* Use [[GNOME#Autostart|XDG Autostart]]s.
* Use [[Systemd#Using units|systemd unit]]s.
 
=== Via xinit ===


However,it is recommended to install the following packages to get a fully working Pantheon Shell:
Use [[xinitrc]] to launch the Pantheon shell components by [[append]]ing them at the end of the file, ie:
{{Note|Problems can occur when using (non)-mixed bzr packages! You can install the latest release, by adding -bzr to its install package-name.}}


* {{AUR|audience-bzr}}: Video player
{{hc|~/.xinitrc|
* {{AUR|contractor-bzr}}: Service for sharing data between apps
...
* {{AUR|dexter-contacts-bzr}}{{Broken package link|{{aur-mirror|dexter-contacts-bzr}}}}: Contacts manager (does not build)
io.elementary.wingpanel &
* {{AUR|eidete-bzr}}: Simple screencaster
plank &
* {{AUR|elementary-icon-theme-bzr}}: elementary icons
exec gala
* {{AUR|elementary-scan-bzr}}: Simple scan utility (does not build)
}}
* {{AUR|elementary-wallpapers-bzr}}{{Broken package link|{{aur-mirror|elementary-wallpapers-bzr}}}}: elementary wallpaper collection
* {{AUR|gtk-theme-elementary-bzr}}: elementary GTK theme
* {{AUR|feedler-bzr}}{{Broken package link|{{aur-mirror|feedler-bzr}}}}: RSS feeds reader (does not build)
* {{AUR|footnote-bzr}}: Note taking app
* {{Pkg|geary}}: Email client
* {{AUR|indicator-pantheon-session-bzr}}{{Broken package link|{{aur-mirror|indicator-pantheon-session-bzr}}}}: Session indicator
* {{AUR|lightdm-pantheon-greeter-bzr}}: LightDM greeter
* {{AUR|maya-calendar-bzr}}: Calendar
* {{AUR|midori-granite-bzr}}: Web browser
* {{AUR|noise-bzr}}: Audio player
* {{AUR|pantheon-backgrounds-bzr}}: Wallpaper collection
* {{AUR|pantheon-calculator-bzr}}: Calculator
* {{AUR|pantheon-default-settings-bzr}}: Pantheon default's settings (appearance, etc.)
* {{AUR|pantheon-files-bzr}}: File explorer
* {{AUR|pantheon-notify-bzr}}{{Broken package link|{{aur-mirror|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 [https://aur.archlinux.org/packages/?O&#61;0&K&#61;switchboard-plug AUR] or in [https://github.com/alucryd/aur-alucryd/tree/master/pantheon Alucryd's GitHub repository].}}
==== Autostart applications with xinit ====


It is also recommended to install the following fonts:
* Run something just once, when X starts, by adding it to [[xinitrc]] before the {{ic|exec gala}} line.
* {{AUR|ttf-opensans}}: Open Sans Fonts
* Use [[Systemd#Using units|systemd unit]]s.
* {{AUR|ttf-raleway-font-family}}{{Broken package link|{{aur-mirror|ttf-raleway-font-family}}}}: Raleway Font Family
* Use [[XDG Autostart]]s via {{AUR|dapper}}, {{AUR|dex-git}}, or {{AUR|fbautostart}}.
* {{Pkg|ttf-dejavu}}: Font family based on the Bitstream Vera Fonts
* {{Pkg|ttf-droid}}: General-purpose fonts released by Google as part of Android
* {{Pkg|ttf-freefont}}: Set of free outline fonts covering the Unicode character set
* {{Pkg|ttf-liberation}}: Red Hats Liberation fonts


===Additional Info===
== Configuration and workarounds ==


====Packages based on older evolution-data-server====
Configure Pantheon via {{Pkg|switchboard}} and its plugs, which must be installed separately.


{{AUR|dexter-contacts-bzr}}{{Broken package link|{{aur-mirror|dexter-contacts-bzr}}}} and {{AUR|feedler-bzr}}{{Broken package link|{{aur-mirror|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.
Pantheon components, except for [[plank]], store their configuration in the {{ic|org.pantheon}} or {{ic|io.elementary}} [[GNOME#Configuration|dconf keys]].


==Launching Pantheon==
{{Note|{{AUR|switchboard-plug-pantheon-tweaks-git}} provides easy access to [https://raw.githubusercontent.com/elementary-tweaks/elementary-tweaks/master/docs/screenshot.png customizations for various aspects of the Pantheon desktop and applications], similar to {{Pkg|gnome-tweaks}}.}}


===Via a Display Manager===
=== General ===


{{AUR|pantheon-session-bzr}} provides a session entry for display managers such as {{Pkg|gdm}} or {{Pkg|lightdm}}.
==== Missing D-Bus services ====


{{Note|Either use the bzr version of ''cerbere'' or add 'gala' to the monitored processes for this to work.}}
Pantheon components and elementary OS software are increasingly delegating certain functions to the {{Pkg|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:


===Via .xinitrc===
** (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


You can also use {{Ic|~/.xinitrc}} to launch the Pantheon shell. The following code will successfully launch a Pantheon session:
In this situation, you have a few options:


#!/bin/sh
# Downgrade to a version of the software prior to when this dbus request was implemented.
 
# Use the {{Pkg|gala}} window manager.
if [ -d /etc/X11/xinit/xinitrc.d ]; then
# Implement the missing interfaces on your own.
  for f in /etc/X11/xinit/xinitrc.d/*; do
# Find a different software for the functionality you are seeking (e.g. a different screenshot tool)
    [ -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|Pantheon may refuse to start correctly, resulting in errors such as no visible mouse cursor and others. In this case you have to add the window manager 'gala' to the list of monitored processes of cebere. This can be done in {{ic|dconf-editor}} and should look like [http://s0.uploads.im/AvOIT.png this].  Remember do not run dconf-editor as root, use your local username.}}
==== "No such key" when installing packages ====


===Autostart applications===
Several dconf keys {{Pkg|pantheon-default-settings}} expects are missing, as it is written for an older version of {{Pkg|gnome-settings-daemon}}. This is not a problem, but if the messages are an annoyance, comment out or remove the specified keys from {{ic|/usr/share/glib-2.0/schemas/25_pantheon-default-settings.gschema.override}}.


Pantheon, when launched via {{Ic|~/.xinitrc}}, does not support XDG autostart. However, there are 3 other ways to achieve this for applications which do not provide a systemd unit:
=== Desktop ===


* 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.
==== Crashes at login ====
* 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.
* Or you may use a program like {{AUR|dapper}}, {{AUR|dex-git}}, or {{AUR|fbautostart}} to add support for XDG autostart in your {{ic|~/.xinitrc}}.


{{Note|Keep in mind that applications started via ''cerbere'' cannot be terminated, they will keep respawning.}}
===== "Oh no! Something has gone wrong." =====


==Configuration==
One of the {{ic|RequiredComponents}} in Pantheon's session file may be failing.


Configuring Pantheon is done via {{AUR|switchboard-bzr}} 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 {{Ic|org.pantheon}} key. Use ''dconf-editor'' for easy editing.  
This may be worked around by removing the failed component from {{ic|/usr/share/gnome-session/sessions/pantheon.session}}.


Part of the configuration is handled by {{Pkg|gnome-control-center}} via a dedicated plug, which unfortunately only supports GNOME up to 3.6. Use {{Pkg|gnome-control-center}} itself and {{Pkg|gnome-tweak-tool}} instead.
{{Tip|Most often, the culprit is one or more of the {{Pkg|gnome-settings-daemon}} services.}}


===Pantheon Files===
===== Returns to display manager =====


====Enable context menu entries====
See [[GNOME/Troubleshooting#gnome-shell / gnome-session crashes on session startup|gnome-session crashes on session startup]].


If you want to enable context menu entries such as for {{Pkg|file-roller}} to extract/compress archives, then you have to additionally install {{AUR|contractor-bzr}}.
{{Tip|Most of the time, waiting a little longer to log in is sufficent to clear whatever blockage the previous session has left behind.}}


===Terminal===
==== Incorrect screen resolutions with multiple monitors ====


====Opacity (transparency)====
{{Pkg|lightdm-pantheon-greeter}} attempts to setup monitors from {{ic|monitors.xml}}, instead of Xorg configuration, which [https://bbs.archlinux.org/viewtopic.php?pid=1928724#p1928724 does not seem to work reliably].


You can set a certain opacity to make Pantheon Terminal (semi-)transparent. Open {{ic|dconf-editor}} and go to {{ic|org.pantheon.terminal.settings.opacity}} to set your desired opacity.
An alternative is to use another greeter, such as {{Pkg|lightdm-gtk-greeter}}.


==Known Issues==
==== Touchpad gestures ====


=== Indicators not working in wingpanel ===
Install {{Pkg|touchegg}}. However, this package comes with some gestures that could conflict with pantheon's gestures. You can copy {{ic|/usr/share/touchegg/touchegg.conf}} to {{ic|~/.local/share/touchegg/}} and delete these gesture settings. For more instructions, refer to [[Touchegg]].
Make sure the /etc/xdg/autostart/indicator-[name].desktop file contains Pantheon inside OnlyShowIn=
OnlyShowIn=Unity;XFCE;GNOME;Pantheon;


{{Note|
==== Change wallpaper and text scaling ====
* Indicator support itself is a complex issue, due to standards discrepancies between Ubuntu and Gnome's implementation of KDE's status notification indicators.
* The pantheon devs are working on [https://launchpad.net/~wingpanel-devs a number of their own indicators] for wingpanel.}}


=== Indicator-session menus not working ===
Install {{Pkg|switchboard-plug-desktop}} and configure in switchboard.


* {{AUR|indicator-session-bzr}}{{Broken package link|{{aur-mirror|indicator-session-bzr}}}}
=== Files ===
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 [https://github.com/quequotion/pantheon-bzr-qq/tree/master/REDUNDANT/indicator-session-pantheon-bzr indicator-session-pantheon-bzr]


* {{AUR|indicator-session}}
==== Enable context menu entries ====
This version of indicator-session fails to interact with the session manager somehow; a (crudely hacked) version that uses systemd/logind instead is available {{AUR|indicator-session-systemd}}{{Broken package link|{{aur-mirror|indicator-session-systemd}}}}


''About This Computer'', ''Lock'' and ''Sound Settings'' ({{AUR|indicator-sound}} or [https://github.com/quequotion/pantheon-bzr-qq/tree/master/REDUNDANT/indicator-session-pantheon-bzr indicator-sound-pantheon-bzr]) rely on gnome components that may not be installed, such as gnome-control-center and gnome-screensaver.
To enable context menu entries, such as for {{AUR|file-roller-pantheon}} to extract/compress archives, additionally install {{Pkg|contractor}}.


For ''Lock'' functionality (including "Ctrl+L" hotkey), replace gnome-screensaver with [[light-locker]] or [[XScreenSaver]] and [https://github.com/quequotion/pantheon-bzr-qq/tree/master/EXTRAS/xscreensaver-dbus-screenlock a script that emulates the gnome-screensaver dbus].
=== Plank ===


===No transparency in pantheon-terminal===
See [[Plank]].


Transparency in pantheon-terminal is not yet fully functional with GTK themes other than the elmentaryOS theme. Either use {{AUR|gtk-theme-elementary}} or add [http://bazaar.launchpad.net/~elementary-design/egtk/4.x/revision/210 this] code to your theme.
==== Not launching at startup ====


===White icons in pantheon-files===
Since {{Pkg|cerbere}} was retired, {{Pkg|pantheon-session}} expects plank to use [https://github.com/elementary/dock/blob/master/data/autostart.desktop this xdg autostart] to initiate and request gnome-session's built in management to maintain it.


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 {{AUR|gtk-theme-elementary-bzr}} or adding the following line to {{ic|gtk-widgets.css}} or {{ic|gtk-widgets.css}} of your {{AUR|gtk-theme-elementary}} theme:
{{Note|{{ic|1=X-GNOME-Autostart-Phase=Panel}} should be commented out to avoid stalls on startup.}}


GtkToolItem { color: @text_color; }
Either install {{AUR|pantheon-dock-git}}, or create {{ic|/etc/xdg/autostart/plank.desktop}}.


===Wingpanel is transparent===
=== Terminal ===


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.
==== Opacity ====


===Corrupted graphics in canonical indicators===
Set the dconf key {{ic|io.elementary.terminal.settings.background}} to your desired background color and opacity with an RGBA value, ie the default: {{ic|rgba(46, 46, 46, 0.95)}}.


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.
=== Wingpanel ===


===Cannot interact with the LightDM Pantheon greeter===
==== Indicators ====


You need to delete {{ic|/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
Wingpanel does not come with any indicators; they must be installed separately.


== Troubleshooting ==
At the minimum, you will probably want to install:
* {{Pkg|pantheon-applications-menu}}: Applications menu and "Run" dialog
* {{Pkg|wingpanel-indicator-datetime}}: Clock and calendar widget
* {{Pkg|wingpanel-indicator-session}}: User and session menu (Switch user, Logout, Shutdown, etc.)


=== Gala crashes on start ===
===== Third-party indicators =====


It appears that unconfigured gala tries to use default gnome wallpaper as a background. However, the corresponding file is absent unless you have {{Pkg|gnome-themes-standard}} installed. Thus, install {{Pkg|gnome-themes-standard}} to workaround the crash. It is safe to remove this package after you configure pantheon in a way you want.
* When launched [[#Via display manager]], if third-party indicators' [[XDG Autostart]]s contain {{ic|1=OnlyShowIn=}}, append {{ic|Pantheon;}} to it.  


=== How can I add new applications to the dock? ===
* Ayatana Indicators require {{AUR|wingpanel-indicator-ayatana}}{{Broken package link|package not found}} or {{AUR|wingpanel-indicator-namarupa-git}}{{Broken package link|package not found}}.


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.
===== Session indicator menus unresponsive =====


=== How can I change the default appearance such as GTK theme, font size, etc? ===
* The ''Lock'' menu item requires a ''Lock'' dbus method provided by an {{ic|org.gnome.ScreenSaver}} dbus service.
* The ''Shutdown...'' and ''Log Out..'' menu items request dialogs which require the {{Pkg|gala}} window manager to appear. If you intend to use any other window manager, an alternative is required—such as {{AUR|wingpanel-indicator-session-standalone-git}}.


Use {{Pkg|gnome-tweak-tool}} or see [[GTK+]].
==== Dynamic transparency ====


=== I do not have any mouse cursor ===
The {{Pkg|gala}} window manager provides Wingpanel with dynamic transparency.


The 'gala' window manager is most likely not running. [[#Via .xinitrc]] Add 'gala' to the list of cerbere's monitored processes.
With {{Pkg|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.


=== Wingpanel is empty except for Applications ===
To achieve the behavior within another theme, add the following code to its css or the override file, {{ic|~/.config/gtk-3.0/gtk.css}}:


The indicators that are displayed in the wingpanel are split into separate packages. [[#Installation]] Install additional indicators such as {{AUR|wingpanel-indicator-datetime-bzr}}, {{AUR|indicator-power}}{{Broken package link|{{aur-mirror|indicator-power}}}} or {{AUR|indicator-sound}}.
/*********************
  * wingpanel support *
  ********************/
.panel {
    background-color: transparent;
    transition: all 1s ease-in-out;
}
.panel.maximized {
    background-color: #000;
}

Latest revision as of 21:24, 19 April 2024

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:

Services

These optional packages provide (background) services for Pantheon and elementary OS applications:

Theme and configuration

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

Note: Contains settings for theme packages and fonts to be installed separately:

Applications

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

Launching Pantheon

Via display manager

pantheon-session provides a gnome-session entry for display managers, such as LightDM.

Autostart applications with a display manager

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

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.

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:

  1. Downgrade to a version of the software prior to when this dbus request was implemented.
  2. Use the gala window manager.
  3. Implement the missing interfaces on your own.
  4. 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

Enable context menu entries

To enable context menu entries, such as for file-roller-pantheonAUR to extract/compress archives, additionally install contractor.

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-gitAUR, 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:

Third-party indicators
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-standalone-gitAUR.

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;
}