In 2012, the elementary project was still finding its identity. elementary OS Luna would not ship until August 2013, but the individual components โ Plank dock, Slingshot launcher, WingPanel, and the early Pantheon Files โ were already available and impressively polished for their age. Installing them on Ubuntu 12.04 LTS gave you a taste of what elementary OS would become: a desktop that prioritised visual coherence, simplicity, and intentional design over the kitchen-sink configurability of KDE or the polarising workflow of Unity. This guide covers setting up the elementary desktop components on Ubuntu 12.04, configuring the dock, panel, and launcher, and working around the rough edges that came with running pre-release elementary components on a different base. We used this setup on a MacBook Air running Ubuntu 12.04 (yes, really โ the 2011 Air ran Linux quite well), and the elementary aesthetic felt right at home on Apple hardware. For a look at where the project ended up, see our elementary OS Freya review.

Understanding the Components
The elementary desktop is not a single monolithic package โ it is a collection of interoperable components, each handling one aspect of the desktop experience:
- WingPanel โ a lightweight top panel that holds the application menu, system indicators (network, sound, battery, clock), and the session menu. Visually minimal, with a translucent background.
- Slingshot โ the application launcher, accessed from WingPanel. Displays applications in a grid with category filtering and search. The design was clearly inspired by macOS Launchpad but better organised.
- Plank โ a dock at the bottom of the screen for launching favourite applications and managing running windows. Plank was designed to be the simplest dock possible โ no configuration dialogs by default, just drag icons to add and remove them.
- Gala โ the window manager, a fork of GNOME’s Mutter. Handles compositing, window animations, workspace management, and multitasking view.
- Pantheon Files โ the file manager, designed as a simpler alternative to Nautilus with a column-based navigation mode, breadcrumb path bar, and clean sidebar.
Prerequisites
- Ubuntu 12.04 LTS (Precise Pangolin) installed and updated
- An internet connection for PPA and package downloads
- A GPU that supports OpenGL compositing (Intel HD 3000+, Nvidia with proprietary driver, or AMD with fglrx or radeon driver)
- At least 512 MB RAM (1 GB recommended)
Step-by-Step Installation
Step 1: Add the elementary Daily PPA
In May 2012, the elementary components were available through a daily builds PPA:
sudo add-apt-repository ppa:elementary-os/daily
sudo apt-get update
Step 2: Install the Core Components
Install the elementary desktop components:
sudo apt-get install elementary-desktop
If the meta-package is not available, install the components individually:
sudo apt-get install wingpanel slingshot-launcher plank pantheon-files gala
This pulls in the elementary icon theme, the elementary GTK theme, and the required Granite library (elementary’s custom widget toolkit).
Step 3: Install the elementary Theme and Icons
If not automatically installed with the desktop:
sudo apt-get install elementary-icon-theme elementary-theme
Apply the theme:
gsettings set org.gnome.desktop.interface gtk-theme "elementary"
gsettings set org.gnome.desktop.interface icon-theme "elementary"
Step 4: Configure the Login Session
A session file should be created automatically. If not, create one:
sudo nano /usr/share/xsessions/pantheon.desktop
Add:
[Desktop Entry]
Name=Pantheon
Comment=elementary desktop environment
Exec=gala
TryExec=gala
Type=Application
Log out, select Pantheon at the LightDM login screen, and log in.
Step 5: Configure Plank
Plank appears at the bottom of the screen. To add applications, drag their icons from Slingshot (or from Pantheon Files) onto the dock. To remove an application, drag its icon off the dock.
Plank’s hidden preferences file is at ~/.config/plank/dock1/settings:
nano ~/.config/plank/dock1/settings
Key settings:
#The size of dock icons
IconSize=48
#Whether to show the dock on the primary monitor only
MonitorNumber=-1
#The position of the dock
Position=3
#Hide mode: 0=never, 1=intelligent, 2=auto, 3=dodge
HideMode=1
For access to a graphical preferences dialog, hold Ctrl and right-click on the Plank dock โ a hidden preferences window appears.
Step 6: Configure WingPanel
WingPanel indicators are managed through the indicator framework. The default set includes:
- Application menu
- DateTime (clock)
- Session (logout, shutdown)
- Sound
- Network
If indicators are missing, install them explicitly:
sudo apt-get install indicator-datetime indicator-session indicator-sound indicator-network

Step 7: Set Up Pantheon Files as Default
Make Pantheon Files the default file manager:
xdg-mime default pantheon-files.desktop inode/directory
Pantheon Files supports:
- Column view โ navigate through directories in a Miller columns layout (similar to Finder on macOS)
- Breadcrumb navigation โ click any segment of the path bar to jump to that directory
- Tabs โ Ctrl+T opens a new tab
Common Pitfalls
WingPanel appears behind Unity’s panel. If you accidentally launch WingPanel in a Unity session, it renders behind Unity’s own panel at the top of the screen. Only use WingPanel in the Pantheon session. If it auto-starts in Unity, remove its autostart entry: rm ~/.config/autostart/wingpanel.desktop.
Gala crashes and falls back to Metacity. Early Gala builds on Ubuntu 12.04 occasionally crashed when encountering unsupported OpenGL extensions on older Intel GPUs. If Gala crashes, the session falls back to Metacity (no compositing). Check ~/.xsession-errors for Gala-related error messages. Updating Mesa drivers sometimes resolved this: sudo apt-get install --install-recommends libgl1-mesa-dri.
Plank shows duplicate icons for running applications. This happened when the application’s .desktop file name did not match what Plank expected. The fix was to ensure the correct .desktop filename was used in Plank’s launcher list at ~/.config/plank/dock1/launchers/.
elementary theme has missing assets. The daily PPA occasionally had theme packages that were out of sync with the GTK version in Ubuntu 12.04. If buttons, scrollbars, or window decorations look broken, reinstall the theme: sudo apt-get install --reinstall elementary-theme. If still broken, try an older revision from the PPA or fall back to the Adwaita theme temporarily.
Slingshot does not show all installed applications. Slingshot reads .desktop files from /usr/share/applications/ and ~/.local/share/applications/. If an application is installed but does not appear, check that its .desktop file exists and that the NoDisplay flag is not set to true. You can also force a cache refresh: update-desktop-database ~/.local/share/applications/.
No session option at the login screen. If the Pantheon session does not appear in LightDM’s session selector, verify that /usr/share/xsessions/pantheon.desktop exists and has the correct format. Restart LightDM after creating it: sudo service lightdm restart.

The elementary Design Philosophy
What made the elementary components distinctive in 2012 was not technical sophistication โ Plank was simpler than Docky, WingPanel was simpler than GNOME Panel, Slingshot was simpler than most application launchers. The distinction was intentional simplicity. Every component had a clear, narrow purpose, a consistent visual language, and minimal configuration surface area. The elementary team believed that the best defaults should work for most users without requiring customisation, and that reducing options was a feature, not a limitation. Whether you agreed with that philosophy or not, the result was a desktop that felt cohesive in a way that most Linux desktops did not โ and running it on Ubuntu 12.04 was the earliest way to experience that vision before elementary OS itself was ready.