Unity alternatives - the many desktops of Ubuntu
by Fabian A. Scherschel
Ubuntu's Unity is far from the only desktop environment available for the distribution. For users who want to stay with Ubuntu 12.04 LTS but prefer another desktop environment, there are plenty of alternatives to try.
Ubuntu 12.04 LTS is a solid release and will most likely satisfy many users of the popular Linux distribution without a great number of modifications. One thing that has been a controversial topic with many, however, is its default desktop environment. Canonical's Unity interface has made many strides since it was introduced, but despite its name, it has failed to unify the field of Linux desktop environments. It has been suggested that this is in part due to the way in which Unity is developed, but whatever the case, it is clear that many users have a desire to switch to another desktop environment. Luckily, choice is one of the biggest strengths of the Linux ecosystem and there are many options available, enabling users to stay with the distribution they have come to know and love while still using another desktop environment. While it might seem that switching to a different distribution based on 12.04 LTS would be the best idea, the ease with which Ubuntu lets users install alternative user interfaces makes that almost unnecessary. And installing multiple environments alongside of each other has the added benefit that it allows for easy experimentation by going back and forth between different desktops.
A shell game: GNOME 3 on Ubuntu
Ubuntu's standard desktop re-uses many of the underpinnings of the GNOME 3 environment. In fact, although Unity looks very different from GNOME 3 as it is shipped in, say, Fedora, only the topmost layer of what makes a desktop environment tick actually differs. To get a "pure" GNOME 3 experience, one simply has to install the GNOME Shell and its corresponding Mutter window manager.
As of Ubuntu 12.04 LTS, all the needed components are included in the Ubuntu repositories. However, the packages are quite stale and updates lag behind the versions that are available in other distributions. To solve this issue, the GNOME development team has created a Personal Package Archive (PPA) that also includes several packages that are part of GNOME 3 but were never included in the Ubuntu repositories. PPAs are third party repositories that enhance the number of packages available in the official package sources and are relatively easy to install and maintain.
One downside of PPAs that has to be pointed out is that packages installed from them inherently come from an untrusted source. But given the list contributors to the GNOME 3 Team PPA, this is less of a concern. Another issue compared to installing software from the normal repositories is the fact that PPAs are harder to maintain. For the GNOME 3 packages, for example, the developers suggest removing the PPA before performing a major system upgrade to another version of the distribution. Keeping these points in mind, the recommended way of installing GNOME Shell on Ubuntu, according to the distribution's wiki, is via the GNOME team's PPA.
To add this repository and to get the full GNOME 3 experience on Ubuntu, users will have to open the Ubuntu Software Centre and select the "Software Sources" entry from the application's "Edit" menu. After entering an administrative password, they will now be able to see a list with the repositories that are currently available to the system under the "Other Software" tab. When clicking "Add", the user will be prompted with a text input dialog asking for an "APT line". To enable the aforementioned PPA, users should enter the following text in that field and then click "Add Source":
After the package cache has been refreshed (which now happens transparently in the background), the PPA has been added. Users can now search for "GNOME Shell" and should select the appropriate package in the resulting list. After installing the gnome-shell package and its dependencies and performing a necessary restart, a "GNOME" option should be available from the sessions menu at the user login screen. This menu is found by clicking on the small Ubuntu icon next to the user's login name.
A taste of Cinnamon
The Linux Mint distribution has made a name for itself by building on top of Ubuntu's solid foundation and making tweaks to the user experience that follow a vision that is quite distinct from Canonical's ideas. When Ubuntu went with Unity for its default desktop, the makers of Mint evaluated it and the GNOME Shell alternative, and eventually came up with their own spin on what a desktop based on it should look like. The fruit of their labours is the GNOME Shell fork Cinnamon. This environment is more akin to the traditional GNOME 2 desktop than Unity or stock GNOME 3 but also includes elements from Mint's earlier modifications to the GNOME 2 desktop. Like Unity and GNOME Shell, it is a modern-looking desktop with transparency effects and animations but unlike these two environments it has not departed from the traditional panel-oriented way of organising active application windows. It is therefore a modern, but familiar choice that will appeal to users longing for a return to a more traditional desktop setup.
To install Cinnamon on Ubuntu, users currently also have to use a PPA. A developer by the name of Gwendal Le Bihan is providing packages for the latest stable version of Cinnamon and its window manager Muffin. To add this PPA, users can follow the same procedure as explained for installing GNOME 3, but should use the following APT line:
After that, searching for "cinnamon" (note the lower case spelling here – as it turns out, the Software Centre search is case sensitive) and installing that package will set up the desktop environment and make it available at the sessions menu after a reboot. In some cases, it may be necessary to start the Ubuntu Update Manager and "Check" to refresh the package list to get packages from the PPA to show up in the Software Centre. If you can not find the cinnamon package after having added the PPA, try to refresh the package information manually this way.