elementary OS is an Ubuntu (LTS) based distribution that strives to improve the Linux user experience and places an emphasis on the cohesiveness of the desktop environment and the apps that run on it. It targets new Linux users moving from Windows and macOS, offering a simple environment that does not require a steep learning curve.
It is also the only Linux distribution that funds development of and monitizes the distribution through a pay-what-you-want model for downloading the installation ISO and installing and updating apps developed exclusively for the distribution.
Its latest release, made available in October of this year, is considered to mature and stable enough by its developers to warrant a jump in version number from 0.4 (codename Loki) to 5 (codename Juno). This article reviews this release, based on Ubuntu 18.04 LTS.
Although this is the first time I am reviewing Elementary OS, I used it as a VMware machine hosted on Windows during the 0.2 Luna era as my default Linux distribution. elementary OS was one of my first forays into Linux after returning to it after an eight year absence. This was at a time when wingpanel-slim, a replacement for the default wingpanel was actively developed for elementary OS by a third party developer. In fact the only reason I used elementary OS, choosing not to upgrade even after 0.3 Freya was released and support for the wingpanel-slim was discontinued, was just for this elegant panel.
Since that time, the developers have been busy in developing the distribution in other ways, to the point that now, with the release of Juno, the version numbering has jumped from 0.4 to 5, reflecting the developers view of the maturity and stability of the OS since the previous release. Since 0.4 Loki, the most notable change in the distribution has been the efforts to continue the monetization trend started with the pay what you want model for the OS itself -- introduced in 2015, during the official availability of 0.3 Freya. Since then elementary has introduced a GUI software store which recently started distributing curated apps developed exclusively for elementary, that users can choose to purchase at a price they specify, or alternatively install for free.
Apart from current loyal users, and the portion of future converts to Linux from Windows and macOS that start their Linux journey with elementary and stay with it, I don't believe the majority of Linux users will care about the elementary App Center since a GUI software center has been better implemented by other distributions; for example the Deepin software store is much more visually rich and detailed, even the simple GUI package manager of SolusOS, although not a software "store," has the capability of displaying screenshots, lists change logs, and provides a way to support upstream developers through a Donate button. The App Center does have some of the richness of the Deepin software center, but only in the entries for curated apps and not all apps in the store. Some screenshots of the App Center are presented below in the Package Management section.The characteristic of elementary OS that impresses most Linux users and that receives praise from its fans, and even critics, is its polish and attention to the aesthetic qualities of the experience. This was evident to me, and impressively so, when booting Juno for the first time after installation. The fifteen lines of error messages I usually see on the screen when booting other distributions on the Acer V15 Nitro regarding the TPM are not displayed when booting elementary. Instead there is a more visually appealing transition to the Plymouth boot splash after a momentary plain black screen. Apparently, the elementary developers have modified GRUB settings and the GRUB scripts in /etc/grub.d, and possibly modified GRUB itself to avoid the jarring error messages. Or, perhaps, this is a carryover from the underlying Ubuntu base since rEFInd, lists the GRUB written to the EFP by elementary OS's installer as Ubuntu.
Then I was stunned by the beauty of the log in greeter, by the elegance of the fonts and arrangement of elements on the screen as well as by the default background image. However, the greeter/lock screen doesn't have functionality found in the greeter/lock screen found on other desktop environments, namely media controls, which in the case of a saved Plasma session can control media paused during the previous session.
After the initial appreciation of the beauty of the greeter, I was immediately annoyed by the Pantheon desktop -- as I had been when trying the distribution in the live ISO -- and the design philosophy that precludes a Minimize button in the "headerbar". Just when I was beginning to think that elementary OS developers have a philosophical bias against being able to minimize windows at all, and simply not providing a button, I discovered by accident that the right click context menu on the headerbar of a window contains Minimize. Unfortunately, the right click context menu on the headerbar is available inconsistently, even on the same program. The only way to get an actual minimize button and a reliable way to minimize windows -- short of possibly some gsettings command -- is to use the Elementary Tweaks plug in for System Settings which, although not updated for Juno, works, adding a Tweaks component to System Settings through which the window button configuration can be modified. Elementary Tweaks also adds the capability of selecting alternative themes, icons, and fonts, as well as providing other tweaks.
Shortly into my trial of elementary OS, I realized that the elementary OS desktop is just GNOME shell with elementary modifications. This is apparent in many areas of the desktop shell and applications, such as Files -- a modified Nautilus, Music -- a modified Rhythmbox, even the much hyped Code is just a modified Gedit. Despite this similarity due to a common origin, GNOME as opinionated as it is on how its users should work on their computers and the amount of flexibility afforded by the environment, distributions may include, or at least make available in their repositories, the GNOME Tweaks program and GNOME extensions which users depend on to modify the environment to make it comfortably usable for their needs. elementary OS, while not explicitly preventing similar modifications, e.g. Elementary Tweaks is not prevented from being integrated into System Settings, it does not include such a system or make it available in its PPA.
However, elementary does make modifications to the standard GNOME environment and applications that I like. For example, the file manager is, in some ways, more capable and user friendly than that found in GNOME's native file manager. elementary's version displays Devices in the left panel, allowing users to access mounted partitions in less steps than in GNOME's Files where users must first select Other Locations. elementary also modifies Files from GNOME's version by adding another view mode, the Columns view of the filesystem as in macOS's file explorer.
Other elementary improvements to GNOME include widgets in the headerbar of applications that allow users to perform some actions. The best use of these widgets are in Code and Mail. In Code three central widgets can be used to specify the indentation mode, modify the syntax highlighting mode, and to go to a specific line.
The biggest improvement over GNOME, and a new feature in this release of elementary OS, and one that is not available in any other desktop environment that I am aware of, is Adjustable Windows Tiling. Of all the features touted on elementary's website's main page or this release's announcement, this is truly an innovation.
Sadly there are other aspects of the desktop environment and the default applications that detract from Juno as much as Active Window Tiling adds to it. And unlike my criticism of elementary OS in this review, which center on its excessive simplicity to the point of lacking capability, these aren't just a matter of preference. First is the network management applet. Some wireless networks are duplicated multiple times in the list of available networks. Also, when selecting from the available wireless networks, the animation and visual feedback indicates that another network in the list is the one being activated, although the one selected is the one that is actually connected.
The second issue is in Music, the Rhythmbox clone. In the view comprising the three panes of the Genre, Artists, and Albums lists in the upper part of the window and the single pane of the track list in the lower part of the window, if an item in one of the upper panes is selected, a previously selected item in another of the upper panes is not actually deselected. When creating a playlist from the active list of tracks, displayed based on a selection in one of the upper panes, all available songs in the library were added to the playlist. I did not have any issues in the Rhythmbox program in my SolusOS installation.
I definitely do not recommend elementary OS for more experienced Linux users (but advanced users probably have experimented with various desktop environments and distributions and know what they want). I especially would not recommend it as a development platform, as which elementary OS marketing is positioning it. I would instead recommend KDE's Plasma Desktop on Manjaro or Fedora. Despite efforts to add features to Code to bolster its capability for development, it simply does not have the multitude of advanced features that have been long available in Kate, such as vertical multi-line insertion, called Block Selection/Edit mode and the ability to split windows an unlimited number of times both horizontally and vertically (would a programmer not like to see different parts of a file at the same time without having multiple windows or tabs), and many more. In short, -- and I only mention it because of the ferocity of the marketing of elementary OS regarding some aspects of its design -- as one Redditor succinctly put it, Plasma allows users to do simply that users would have to struggle to do in other environments.
However, I do recommend elementary OS for new users of Linux -- even users new to computers in general, and not Linux specifically -- because it offers them an attractive and intuitive desktop environment with enough elementary OS specific documentation to get started, but with the qualification that they also try other beginner friendly distributions such as Linux Mint. These new users can decide whether the rigid simplicity of elementary OS, the use of which may not grow their Linux skills, or something like Linux Mint Cinnamon edition is right for them. New users may prefer and have an easier transition with Linux Mint simply because of issues like the lack of a minimize button that are a result of elementary's design philosophy. As it is now, despite the ease of use for new users, they may be frustrated by issues like the one with the Music app and the network management applet.
|elementary OS releases are based on LTS versions only; elementary OS 5 Juno is based on Ubuntu 18.04 LTS|
|Installation Media Types||Live ISO with included installer|
|since elementary OS uses Ubuntu repositories, technically, any desktop environment available in Ubuntu repos is installable|
Installation was very simple and quick without any real issues. The only actual problem was that the "release notes" link on the first screen of the installer was to a broken URL on the elementary website. The only other impression I had of the installer was that there was no slideshow communicating the benefits of the system to the user as in many other user friendly distributions -- something I would expect from a distribution like elementary OS that emphasizes an improved user experience.
Screenshots of the various installer screens are presented below.
The only enhancement I needed to make was to install Elementary Tweaks in order to add a Minimize button to the HeaderBar. This required adding a Personal Package Archive (PPA) to the system, updating and installing the necessary package. The necessary steps are described on LinuxAndUbuntu.
Users who intend on using elementary OS longer term and don't care for the bland gray elements of the design will want to take advantage of Elementary Tweaks and use it to change the GTK theme. I attempted to do this but I was unable to find a theme that appealed to me and was also compatable with the GTK version used in Juno, version 3.22, from about the first dozen pages of gnome-looks.org in the time I was willing to spend on this issue.
The set of programs installed by default are very sparse and seems to be more focused on communication and viewing media and not for productivity. The Code text editor is included but neither the LibreOffice suite, any of its component applications, or lightweight alternatives are included.
Also notable in the default set of applications is Epiphany, the web browser. While having a noticeably good built-in adblocker, it was excessively simple. After enduring its simplicity and many missing features I am accustomed to, I had to install something more functional. The missing feature that ultimately forced me to install Google Chrome was the "Close Tabs to The Right" on-tab context menu item.
|Sound & Video||Music, Videos, Camera|
|System Tools||App Center, Files, Multitasking View, System Settings, Terminal|
Users should now at its core, elementary is essentially an Ubuntu system, with an added optional source of elementary specific software. So all other software not specifically developed by elementary comes from Ubuntu's repositories.
GUI package management is through elementary OS's own App Center ; Synaptic Package Manager or Gdebi are not installed, the latter being necessary if users want to install -- without using dpkg -- a download Google Chrome .deb package. New Linux users who are not adventurous and do not stray from elementary OS's default provided package sources will never need to use the terminal. Users who get .deb packages from third-parties may need to use the terminal for package management. I ran into one issue that required me to update using the terminal instead of the App Center because of a change in the origin of Google package sources. App Center gave an error titled "Failed to Fetch Updates" with the same message as in the following screenshot of the output of sudo apt update:
. It was possible to accept the changes and continue in the terminal package manager, but such an option was not given in App Center.
E: Repository 'http://dl.google.com/linux/chrome/deb stable Release' changed its 'Origin" value from 'Google, Inc.' to 'Google LLC'