Ubuntu 20.04 LTSUbuntu, along with its many community flavours, is one of the world's mostly widely used Linux distributions. Ubuntu ships four official editions (Desktop, Server, Cloud, and a minimal Core). There are additional community editions which provide alternative desktop and configuration options. Just over a week ago, Canonical launched Ubuntu 20.04 which offers five years of support for official editions and three years of support for community editions.
The new Ubuntu release includes version 5.4 of the Linux kernel and support for WireGuard. The Desktop edition ships with GNOME 3.36 as the default desktop and includes experimental support for installing the operating system on the ZFS advanced filesystem. The release announcement mentions that, along with ZFS, Ubuntu will offer “state saving” of the filesystem using a tool called Zsys. From the context, it sounds as though “state saving” here means taking filesystem snapshots as we are also told ZFS integrates with the GRUB boot loader in order to allow users to rollback system changes. (This is a similar feature to the boot environments provided by openSUSE and FreeBSD.) This version of Ubuntu ships with Python 3.8, though Python 2.7 (while unsupported upstream) is available in the distribution's repositories.
The Desktop edition of Ubuntu is a 2.5GB download. Booting from the supplied media will, if we do not interfere, load a graphical environment where we can choose to try a live desktop environment or immediately launch Ubuntu's Ubiquity installer. At the start of the boot process we can press a key to bring up a menu where we can preemptively choose to run the live desktop or load the installer directly. (Practically this does not make a difference and just means we are making our choice to try or install the distribution from a text-based boot menu rather than a graphical welcome screen.) While the operating system is loading it performs an integrity check on the local media to make sure the operating system was not corrupted during the download. We can optionally skip the media check by pressing Ctrl-C.
Taking the live desktop option loads a customized GNOME desktop that has been adjusted to look like Canonical's now-discontinued Unity 7 desktop. A panel with quick launch buttons is displayed down the left side of the screen. An application menu can be opened through a button in the lower-left corner. A system tray sits in the top-right and the GNOME Activities menu sits in the upper-left. Icons on the desktop open the system installer and file manager.
Ubuntu's graphical installer is called Ubiquity and it has not changed much in the past decade. The installer asks us to choose our preferred language from a list, offers to show us the distribution's release notes, and gets us to confirm our keyboard's layout. The following screen gives us a few important options. One is to install Ubuntu Desktop with a wide range of applications (this is called the Normal option) or install just the GNOME desktop, a few utilities and a web browser. This is referred to as the Minimal option. We can also opt to download package upgrades and third-party items such as media codecs and non-free drivers while the distribution is installing.
The following screen asks if we want to manually partition our hard drive or have Ubiquity set up filesystems for us. The automated option has two sub-options: setting up Ubuntu on a LVM volume or on ZFS. The ZFS option is marked as experimental and, following promising experiments I conducted when Ubuntu 19.10 was launched last year, I decided to try the ZFS option. We then select our time zone from a map of the world and make up a username and password for ourselves. The installer sets up the operating system and then offers to reboot the computer (or, if we were running the live desktop, Ubiquity can simply close and return us to the GNOME environment).
Here I ran into my first problem with Ubuntu 20.04: I was unable to shut down the distribution from the live desktop. The system would begin the poweroff process and then list an endless stream of errors saying the system could not unmount the live media. This happened whether I was running the live desktop from a DVD or USB thumb drive. When I ran the installer directly (without launching the live desktop) the distribution shut down cleanly after finishing the install process.
The first thing I noticed about my freshly installed copy of Ubuntu was that it took a long time to boot. Ubuntu always took over three minutes to get from the boot loader screen to the graphical login screen, if it managed to finish booting at all. (I will come back to this problem later.) Once we get to the graphical login screen we can sign into one of two session options: Ubuntu and Ubuntu on Wayland. Both sessions open the GNOME desktop with the former running on the X.Org display server.
The first time we sign into GNOME a window opens and asks if we would like to connect to any on-line accounts. Google, Microsoft, Nextcloud, and Ubuntu accounts are supported. We are then offered a chance to enable Livepatch, a tool which patches the kernel, side-stepping the need to reboot the computer when the kernel is updated. The Livepatch service requires an Ubuntu on-line account.
The first-run window then asks if we would like to send system information to Canonical and then offers to enable location services. The final screen asks if we would like to open the software centre. I will talk about the software centre later.
Something I noticed early on while using the GNOME desktop is window buttons are still kept on the right side of windows. I thought this was interesting as Canonical spent several years encouraging people to use window buttons on the left when they were developing Unity. The GNOME layout is set up to look a lot like Unity, but buttons have been kept to the right.
Pressing the application menu button opens a full screen of launchers. We can browse through applications one page at a time with the icons arranged in alphabetical order. There aren't any category filters, but we can type searches to locate items by name
Shortly after signing into the desktop a window appeared and told me there were two software updates available. These updates were 94kB in size and were downloaded quickly. The update manager was straight forward, showed a simplified list of what updates were available, and worked well for me.
I began my Ubuntu trial by running the distribution in a VirtualBox environment. I found the GNOME environment integrated and resized properly in the virtual machine. However, the GNOME desktop was far too slow to respond and draw itself to be practical. Opening a new menu could take over five seconds and opening new applications tended to take longer than usual.
When running Ubuntu on a physical workstation the desktop worked more quickly. GNOME was still a little slower than the average open source desktop to respond, but it was usable. Audio worked out of the box and my display was set to its maximum resolution. I ran into a problem with networking. When connected to a wireless network my connection would drop around once every minute or two. This would be accompanied by a warning message on the desktop saying the network had been disconnected. However, a few seconds later, the network would reconnect. When switching to another distribution on the same hardware, this regular disconnection did not happen. This made it impractical to try to use wireless networking while running Ubuntu.
When running on ZFS, Ubuntu used about 1.4GB of RAM when signed into the GNOME desktop. ZFS seemed to be taking up a few hundred megabytes of memory, suggesting the rest of Ubuntu and GNOME were consuming about 1GB of RAM, about twice the amount most other mainstream distributions I have tested recently use. The distribution consumed about 2.5GB of disk space for a fresh install and set up a small swap partition alongside my ZFS volume when I used Ubiquity's guided partitioning option.
Early I mentioned having trouble getting Ubuntu to boot. The first time I installed Ubuntu and booted, the distribution started up and I was able to login, install updates, and explore the system a bit. Then I rebooted and the system locked up, unable to get to a login screen. I was unable to get the distribution to start via usual means and so I decided to reinstall. The first time I booted Ubuntu from my fresh install, I signed into my account, and then immediately restarted the computer without making any system changes. The system once again failed to boot. And failed to boot again, and again. I finally found I could get Ubuntu to boot by launching recovery mode from the GRUB menu and immediately picking Resume to continue the boot process. This was the only way I could get the distribution to load, after the initial boot.
Ubuntu's Normal install ships with a fairly standard collection of open source applications. We are treated to Firefox, Thunderbird, LibreOffice, the Rhythmbox audio player, the GNOME Files file manager, a document viewer and appointment calendar. The Transmission bittorrent software is included along with the Totem video player. When we install Ubuntu with third-party packages enabled Totem can play video and audio files.
Ubuntu 20.04 -- Reading the GNOME Help documentation and running Firefox (full image size: 417kB, resolution: 1280x1080 pixels)
The GNOME Help documentation is provided and has a useful spot on the desktop panel. In the background Ubuntu 20.04 uses the systemd init software and runs on version 5.4 of the Linux kernel.
When we want to get additional applications most users will probably turn to the software centre. Ubuntu's software centre has three tabs, one of finding new applications, one for showing installed programs, and one for checking for updates. The first tab begins by simply showing us a list of "editor's picks" or favourite programs. There are no software categories we can browse. We can perform searches for software, locating items by name. Most of my searches were unsuccessful and I found the reason was the software centre only displayed Snap packages (portable packages in Canonical's repository) and not the tens of thousands of Deb packages in Ubuntu's repositories. To locate Deb packages I had to either install an alternative software centre or use the APT command line tool. This seems like a strange move for Canonical to make, especially given how few Snap packages there are and the very mixed reception Ubuntu users have had to Snap in general.
Ubuntu 20.04 -- The software centre (full image size: 421kB, resolution: 1280x1080 pixels)
The software centre did not detect system updates, these needed to be installed through the separate update manager I mentioned above.
While Snap support is installed and enabled by default, the alternative portable package format, Flatpak, is not. Flatpak can be installed from the Ubuntu Deb repositories from the command line.
Two of the key features I was hoping to test during this trial were ZFS and booting into snapshots. The installer set up ZFS successfully, as it did last year during my trial with Xubuntu 19.10. The documentation reports that a tool called Zsys will help manage ZFS snapshots. I looked up the Zsys daemon (zsysd) and its manual page says that it automates the creation of filesystem snapshots, though it does not give any details. I could not find any information on whether snapshots are triggered by specific events or done periodically. I did notice that almost as soon as I logged into Ubuntu the first time, a ZFS snapshot was created. Though future actions did not seem to cause new snapshots to be made. Earlier in the year Arstechnica reported Zsys takes snapshots prior to package management actions, though with some restrictions.
Something that further frustrated me was the release announcement for Ubuntu 20.04 reports that users can select a snapshot to load at boot time. However, I did not find a way to do this. Older snapshots were not listed in the boot menu or under the Advanced section of the GRUB menu.
While the new Ubuntu ZFS tools do not seem to work, or not in ways I would expect, we can use the standard ZFS command line tools, zfs and zpool, to manage ZFS volumes and filesystems.
I ran into several issues with Ubuntu 20.04, especially in key areas such as booting, desktop performance and network stability. As a result I did more double-checking and troubleshooting than usual this week. For example, I double-checked my install media checksum, tried installing from different removable media (in case of corruption), and made sure the live media always passed its self-check before installing.
I also tried running other distributions on the computer this week to make sure they did not encounter performance or networking issues. Ubuntu was the only one which had problems working with my hardware.
At one point I was concerned ZFS might be introducing problems as it is an experimental feature. However, when I tried installing Ubuntu again, this time on an ext4 partition, the operating system failed to boot at all. Even the first time trying to start the system Ubuntu was unable to get to a login screen, even when going through recovery mode.
Going into this trial I was intrigued by some of the features Ubuntu was offering. Apart from ZFS storage for the main filesystem and bootable snapshots, there was also mention of performance improvements to GNOME, Wayland has been polished lately, and I was curious to see how Snaps were being integrated into the distribution.
The practical experience however was a disaster on almost every front. The Ubuntu installer was easy to navigate, but after that, things quickly went downhill. The distribution could only boot once when running on ZFS and failed to run at all when installed on an ext4 partition. The distribution's desktop performance was a little sluggish on physical hardware (with open source drivers) and painfully slow in the virtual machine.
The promised ZFS snapshots did happen (sometimes) though less consistently than the way openSUSE handles Btrfs snapshots and I could not find a way to boot into existing snapshots. The documentation feels light on this front.
Perhaps the oddest decision Canonical has made with this release is to make the software centre work only with Snap packages. Snap packages are large, have trouble integrating with the rest of the desktop, and there are far fewer of them than traditional Deb packages. This makes Snap a poor alternative to traditional packages in most scenarios, yet Ubuntu treats them as the primary package option and seems to require command line work to access traditional packages.
These issues, along with the slow boot times and spotty wireless network access, gave me a very poor impression of Ubuntu 20.04. This was especially disappointing since just six months ago I had a positive experience with Xubuntu 19.10, which was also running on ZFS. My experience this week was frustrating - slow, buggy, and multiple components felt incomplete. This is, in my subjective opinion, a poor showing and a surprisingly unpolished one considering Canonical plans to support this release for the next five years.
* * * * *
Hardware used in this review
My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: