openSUSE 15openSUSE is a community run distribution with close ties to SUSE Linux Enterprise (SLE). The latest version of the distribution is openSUSE 15 which, oddly enough, follows version 42, which followed version 13. Part of the reason for the unusual change in version numbers is openSUSE 15 is designed to share a lot of its code with SLE 15. In fact, the release announcement mentions that there is now a supported path to migrate from openSUSE 15 to the commercially supported SLE 15, for people who want the official support of an enterprise distribution.
Other key features of this release include improved disk and partition handling in the system installer and three years of security updates. This release also offers transactional updates, a form of atomic updates while I will touch on later.
openSUSE 15 is available in four main editions for 64-bit x86 computers. There is a full sized installation DVD (3.7GB) which does not offer a live desktop environment. There is also a smaller net-install disc (120MB) for people wanting to install over the network. There are live editions for GNOME (909MB) and KDE (859MB) for people who want to test run the distribution before installing it. The GNOME edition defaults to running the desktop in a Wayland session. I tested the live KDE disc to confirm it works and provides a usable desktop environment, with the option to install the distribution. However, most of my time was spent with a copy of the distribution provided by the full installation disc.
opensuse 15 -- The Plasma desktop and application menu (full image size: 435kB, resolution: 1280x1024 pixels)
Booting from the openSUSE DVD brings up a menu giving us the options of loading an existing operating system from our hard drive, installing openSUSE or upgrading an existing copy of the distribution. openSUSE's installer is a graphical application which begins by showing us the project's license agreement. This initial screen provides drop-down menus for changing the keyboard's layout and selecting our preferred language. The next screen asks us which role the distribution should take with options including running the KDE Plasma desktop, running the GNOME desktop, setting up a server with a command line interface or setting up a transactional server. There is also an option for customizing which software gets installed. This last option brings up a screen where we can select bundles of software to, for instance, run a file server, install the Xfce desktop, run a print server or install 32-bit support.
Partitioning comes next. By default, openSUSE offers to automatically set up a Btrfs file system and swap space. We can either tweak this recommended set of defaults or manually partition our disk. openSUSE offers a lot of partitioning options and is quite flexible. I opted to stay fairly close to the default recommendation and set up a Btrfs volume. The last few screens get us to pick our time zone and enter a username and password for ourselves. Creating a new user account is an optional step.
The last screen of the installer shows us a summary of actions which will be taken and we are given a chance to click on items to change them. For example, we are shown that a firewall will be set up and that the OpenSSH service will be installed, but disabled. Clicking links next to these items lets us toggle them on/off or further customize the operating system. Once we agree to proceed, the installer installs its packages and reboots the computer, automatically booting us into openSUSE 15.
I like openSUSE's installer. It's streamlined and makes setting up the system fairly easy. Many users will probably be able to get through by clicking Next a few times and taking the defaults. That being said, if we want to, the installer gives us a lot of power to customize the system. I feel openSUSE offers a great balance by making things quick and straight forward while providing, under the surface, the ability to tweak everything from installed packages, to partitions to where the boot loader is installed.
openSUSE boots to a graphical login screen where we are presented with four different session options. The default option is to sign into the KDE Plasma desktop running on X.Org. There is also an option to run the Plasma desktop on a Wayland session. I tried the Wayland option, but it failed to load and would simply return me to the login screen. The other two session options are for the TWM and IceWM window managers. These sessions both provide very minimal, light graphical interfaces. The IceWM option is usable as a desktop, with a panel and application menu. It's not pretty, but certainly functional. The TWM option just presents us with an empty screen with a context menu to help us navigate and will not be practical for most people.
I focused on using the default Plasma 5.12 session. The Plasma desktop features a panel at the bottom of the screen that holds our application menu, task switcher and system tray. The application menu has a classic tree-style layout, which I tend to prefer over other application launchers. There are icons on the desktop for opening the file manager. The default theme is fairly neutral in terms of colour and brightness with a minimal icon set.
I experimented with openSUSE 15 in a VirtualBox environment and on a desktop computer. When running in VirtualBox, the distribution automatically integrated with the host system and tended to run smoothly. When running on the physical desktop computer, the operating system worked well, recognizing all of my computer's hardware. In either environment, openSUSE used about 420MB of memory. A fresh install of the operating system, with the Plasma desktop, used about 6.5GB of disk space. This amount of disk usage makes openSUSE larger than most other distributions I have used recently.
The performance of openSUSE, at least when signed into the Plasma desktop, was varied. The operating system was unusually slow to start up and shut down. Booting always took over a minute, about twice as long as (for example) Debian. And shutting down almost always took around 15 to 20 seconds, which is unusually slow in my experience. Most of the time the Plasma desktop was responsive, but sometimes it would lag quite a bit. Even with file indexing and most visual effects turned off, the desktop tended to noticeably lag. The poor performance came and went, and I think it was caused by different issues. For example, sometimes I would check the system monitor and find the Snapper daemon (snapperd) was using around 25% of my CPU, though Snapper wasn't being actively used. Other times the Kwin window manager would show unusually high load. These issues tended to resolve themselves on their own after a few minutes. Another, seemingly unrelated issue I ran into was openSUSE would use a lot of my host computer's CPU when running in VirtualBox. Host CPU usage varied a lot, but it ranged anywhere from 25% to 100% even when the openSUSE guest was sitting almost entirely idle. This made running openSUSE much more pleasant on physical hardware than in VirtualBox.
openSUSE ships with a fairly standard collection of open source applications. While there seems to be a slight preference to use KDE/Qt software with the KDE Plasma desktop, there are applications built with other toolkits. This means we have such KDE-related items as KMail, the Konversation IRC client, and the Akregator feed reader, but we also start with the GNU Image Manipulation Program. openSUSE also ships with the Firefox web browser, the TigerVNC Viewer, LibreOffice and the KOrganizer personal organizer. The K3b disc burning software is available along with the Mutt console e-mail client, the Marble Globe and Dolphin file manager.
There are a few encryption and security key programs, including KGpg and Kleopatra. I also found desktop accessibility tools, the Okular document viewer and a few small games. Java is installed for us too. openSUSE uses systemd for its init implementation and runs on version 4.12 of the Linux kernel.
The distribution has a little something for just about everyone, but its one weak point for me was multimedia support. Dragon Player is the only media player and, by default, it was unable to play any media I threw at it. Unfortunately Dragon Player does not tell us why it cannot play the file (openSUSE does not ship most media codecs), it just silently fails to open media files. We can try to work around this by going into the YaST control panel and adding the Pacman community repository through the software module. I did this and then installed the VLC multimedia player. Afterwards, I still could not play videos through VLC as the player reported it was still missing the necessary codecs. I was able to track down a VLC codecs package and install it, and from then on I could play video and audio files. Other codec bundles may be required if we want to use alternative media players.
When it comes to managing software, openSUSE gives us several options. There are two graphical software managers, accessible from the application menu. One is labelled Add/Remove Software and launches the YaST package manager. The YaST tool is very flexible, offering several options for searching for items, organizing available packages by category and narrowing down options using filters. From the YaST tool we can also add or remove community repositories with a few clicks. The YaST tool is very capable and offers a lot of options, but it is geared toward administrators. The many tabs and options will probably turn away newer users who just want to browse through desktop applications.
For the more casual user there is the Discover software manager. Discover lets us browse through categories of applications, perform basic searches and see what items are already installed. There is a separate screen where we can check for package updates.
While Discover has the more simple, friendlier interface, I ran into two problems while using it. The first was Discover can sometimes lock up and stop responding, necessitating that we forcibly terminate the software manager. The second issue I noticed was that not all desktop applications which show up in the YaST tool would appear in Discover. Earlier I mentioned installing VLC, a common desktop program. This had to be done from within YaST as searches in Discover returned no results for VLC.
Also on the topic of software management, when new updates become available, a notification appears letting us know. Clicking the update icon in Plasma's system tray opens a small widget which lists available updates. We can select the ones we want and click a button to download them. The update widget worked well for me and I like that it provides progress updates while it works.
Finally, we have the option of managing software using openSUSE's zypper command line utility. I find zypper to be fast and its syntax fairly easy to remember. Mostly though I focused on using the graphical front-ends for package management.
Earlier I mentioned YaST and I think it deserves more discussion. YaST is a settings panel and collection of system administration tools. The YaST panel gives us quick access to many user friendly tools which make it straight forward to control most aspects of the underlying operating system. Through YaST we can access modules for managing software packages, updates and repositories. There are other modules for adding printers and scanners to the system. There are more modules for setting up and changing network connections. We can also perform disk partitioning, manage background services, set up network shares and edit the firewall rules. There are also modules for editing user accounts and browsing hardware information.
I found all the YaST modules worked well and I encountered no problems. When I first opened the firewall module, YaST paused to download some additional packages not included by default. Adding these necessary packages was handled automatically. On the whole, I found YaST's administration modules to be easy to use and they cover such a wide range of functions that I never had to use the command line to adjust an operating system setting.
KDE System Settings
There is a second settings panel for customizing the desktop environment. The KDE System Settings panel is included to help us change the look and feel of the desktop. Unlike other distributions shipping Plasma 5.12, openSUSE has decided to stick with the classic icon grid to navigate Plasma's settings. Other projects are moving to a split-pane, sidebar view, which I find less efficient. I also appreciate that openSUSE's implementation still asks before discarding changes we have made so new settings are not lost when switching between modules. This is something other distributions have not done, to my frustration.
opensuse 15 -- YaST and KDE System Settings (full image size: 346kB, resolution: 1280x1024 pixels)
I found the desktop settings panel was easy to navigate and I had no trouble tweaking the desktop to my preferences. There are a lot of options to navigate, but the panel has a search feature to help us find the right module. The only problem I ran into was when it came to setting up a printer. The KDE panel asked for my sudo password twice, then said my access to browse/add printers was forbidden. I switched over to the YaST panel and used its printer module, which worked for me without any problem.
Snapshots and boot environments
One of the key features which sets openSUSE apart from most other distributions is the use of Btrfs and file system snapshots. Each time we make a change to the operating system via the YaST collection of tools, the system takes a snapshot. We can then see snapshots of our file system in a YaST tool called Snapper. The Snapper tool shows a list of snapshots and tries to indicate which YaST tool triggered the snapshot's creation. This means the snapshots are often listed with a comment like "yast users" or "yast software". We can select a snapshot to see which files were changed between two snapshots. We can even see a line-by-line comparison of any two text files to find out how they were changed. We can then rollback changes, either for an entire snapshot or one specific file.
opensuse 15 -- Using Snapper to compare changes between snapshots (full image size: 435kB, resolution: 1280x1024 pixels)
This ability to automatically take Btrfs snapshots and rollback any changes that caused problems is a fantastic feature. What makes it even more compelling is that when openSUSE boots we can go into the Advanced options menu and select which snapshot we want to boot. This means if an update or configuration change breaks the operating system, we can often fix it by booting an older snapshot and rolling back any problems. As far as I know, openSUSE (and SLE) are the only mainstream Linux distributions which set up snapshots and boot environments by default.
openSUSE 15 has a related feature called transactional updates (sometimes called atomic updates). On openSUSE, when we set up a server which uses transactional updates, the running root file system is not directly affected by software updates. Changes are made in a separate file system snapshot. Then, the next time the system boots, we are automatically transitioned to the new snapshot. If something goes wrong, we can switch back to the previous snapshot. This should insure that the operating system always has a working state and that anything which interrupts the update process will not harm the running system. A news post on the openSUSE blog offers more details on this process. I have not yet had a chance to try transactional updates, but I have used a similar feature on FreeBSD and found it to be useful at protecting the system during upgrades.
openSUSE is, in my opinion, one of the more interesting distributions to watch and use. The YaST administration tools are, in my opinion, second to none. I also like that openSUSE tends to offer modern software, but often with a slightly conservative style. Plasma 5.12 is a cutting edge desktop, but its application menu and settings panel reflect an older style. Personally, this combination of new technology with a conservative look is an approach I like a lot. This week it was nice to use an interface on my desktop computer that looks like it was designed to be run on a desktop and not on a tablet or smart phone.
The move to line openSUSE up with SUSE Linux Enterprise is an interesting one. I assume this was mostly done to make maintaining the two distributions easier. It also has a nice effect of making it possible migrate from openSUSE to the commercially supported SLE. This makes openSUSE's relationship to SLE an even closer parallel to CentOS's relationship to Red Hat Enterprise Linux. I suspect businesses will like this as it gives them a chance to test drive openSUSE before investing in SLE support.
I like the work that has gone into the system installer. It is getting better and more streamlined. openSUSE's installer has always been powerful, but now it is also simplified for less experienced users. I think this version is more accessible to new users than past releases have been.
I think it is worth mentioning openSUSE has a rolling release edition, called Tumbleweed. I was using openSUSE's main edition (Leap) this week, but for people who want to stay on the bleeding edge, there is a rolling release option.
I had two main complaints with openSUSE 15. The first was the lack of media support. This is not a new issue, openSUSE has always shied away from providing media codecs that may be restricted by patents or licensing. What I found frustrating was the default media player does not tell the user why it cannot play a file, it simply does nothing. Also, once I had found and enabled the community repository with media support, I still had to manually track down codec packages. Now, to be fair, there are guides and options out there which will simplify adding codecs to openSUSE. Which is great, if the user knows about them. My complaint is not that codecs cannot be easily added to openSUSE, but that the user needs to know why their media player is not working before they can find the available solutions. Right now, the reason for media files failing to play is not clear unless the user is already familiar with openSUSE's policies.
My second issue was with performance. The Plasma desktop was usually responsive, but every once in a while (a couple of times per day), something would go wrong (snapperd would take up too much CPU, files would be indexed, or Kwin would get bogged down) and it would have a big impact on the desktop experience. openSUSE was also oddly slow to boot and shutdown compared to most other distributions.
Something I noticed when reading the project's release announcement is openSUSE claims to be one of the world's most tested distributions: "openSUSE Leap has become the best and most tested Linux distribution." To the project's credit, most of openSUSE does come across as being well tested and stable. I say "most" because there seems to be a divide in quality between the core openSUSE technology and third-party items. For example, the YaST package manager was fast, flexible and stable. The Discover software manager was slower, failed to find an available package and crashed a couple of times. The YaST printer manager worked with no problems while the printer tool in KDE System Settings refused to give me access to add a printer. There are other minor examples, but my point is openSUSE's in-house development seems to be producing excellent software. But, stepping outside that bubble, things are not always as rock solid.
What I think makes openSUSE stand out, and makes it more appealing than most distributions, is the excellent Btrfs support which makes use of snapshots. Being able to snapshot the file system and recover the system (or a specific configuration file) with a few clicks is a fantastic feature. Snapshots make openSUSE nearly bullet proof and, if Btrfs is used properly, they can also make it possible for users to recover files. These features alone make me inclined to recommend openSUSE to most users. There are plenty of other reasons I would recommend openSUSE: three years of support, great administration tools and a friendly installer. As a whole, I think openSUSE 15 is turning out to be one of my favourite releases of 2018.
* * * * *
Hardware used in this review
My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: