Updating Ubuntu MATE 16.04 to 18.04

Our migration from Windows to Ubuntu MATE crashed hard.

I never upgrade software. An upgrade implies improvement. I always update software. Recent events explain why.

I spent several days testing the process of updating from Ubuntu MATE 16.04.5 to 18.04.2. This was not a happy feet journey.

At work we do not run a stock Ubuntu MATE. We remove bloat — oops — features that are not needed in our work flow. We realize that customizing the design of a distro means little to no upstream help. Nonetheless, removing packages and some tweaking should not cause turmoil. Yet I saw a lot of breakage.

Significant irritants included the panels breaking and none of the panel layouts would populate in the MATE Tweak drop-down list. After many trial-and-error sessions I narrowed the problem to not installing the various indicator-* packages. These packages are part of a new notification process.

The default font rendering was horrible. I was already aware of the possible breakage. This was resolved by adding a FREETYPE_PROPERTIES environment variable in /etc/environment:

FREETYPE_PROPERTIES=truetype:interpreter-version=35 cff:no-stem-darkening=1 autofitter:warping=1

I could not boot to run level 3 (multi-user target). I could do so on a fresh install of 18.04. Often but not always the last stdout message would be Update UTMP about System Runlevel Changes and the boot would hang. I never saw the Started Getty on tty1 or Reached target login prompts messages.

I soon figured out that the last seen stdout message was a red herring. The problem turned out to be a change in the way /etc/systemd/system/getty.target.wants functions. Previously a file could be used there but now a sym link to /lib/systemd/system/getty@.service is required. Anything other than a sym link fails.

After resolving that quirk, I wanted to restore the noclear option. We do not run any super secret spy ring at work and clearing the screen of stdout messages does not help debug boot issues. The old way of preventing the screen clearing was creating a file. The new way of doing this is a /etc/systemd/systm/getty@tty1.service.d/override.conf file.

    [Service]
    ExecStart=
    ExecStart=-/sbin/agetty -o '-p — \\u' --nohints --noclear %I $TERM
    TTYVTDisallocate=no

Notice also the --nohints option.

I have no clue why an empty ExecStart= line is required. Without that line the file always failed.

The litany continued.

  • On one of the workstations the mate-power-manager icon was always generic. No such issue on any other system.
  • On one of the workstations a Thunderbird icon was in the notification area but not on any other system.
  • We continually received a logrotate error. Turns out /etc/logrotate.d/alternatives was installed, which contained a duplicate entry of /etc/logrotate.d/dpkg.
  • We lost network connectivity. Turned out NetworkManager.conf was overwritten, which caused our in-house /etc/resolv.conf to be overwritten.
  • In Caja we lost our office NFS mounts. Turns out with the rewrite to GTK3, the old GTK2 bookmarks no longer were being used. We copied those bookmarks to $HOME/.config/gtk-3.0/bookmarks.
  • Caja would close abruptly when safely removing or ejecting USB sticks.
  • The mail-notification icon would not appear in the new notification area.
  • If using the old notification area, the mail-notification would not fully disappear after reading all emails.
  • Some Conky fonts were corrupt. Manually terminating and restarting Conky was the only way to clean the fonts.
  • When using the midnight commander (mc) file manager in a terminal window, the border line fonts sometimes were distorted with characters rather than lines.
  • The update included a full transition from the GTK2 to GTK3 software toolkit. Many apps looked different and functioned differently. The new dconf-editor is a travesty of usability.
  • The file picker dialog uses a different Places pane layout.
  • The file picker dialog no longer automatically displays the Location Bar. Users had to learn to press Ctrl+L or just start typing.
  • New WINE packages are part of the update. For each user the first instance of starting an app in WINE took a long time while the WINE software initialized and updated.
  • On several systems, moving the mouse pointer was like pushing strings. Users had to increase the acceleration.
  • When using the terminal window, the terminal bell was enabled and annoying.
  • The NetworkManager applet no longer highlights the current connection in the popup menu using a bold font. The connection just above the word Disconnect is the current connection.
  • When connecting to a wireless AP with NetworkManager, the icon widget to not store the password did not work.
  • For some users the logout dialog reverted to the default 60 second timeout, overriding our custom 10 second timeout. There is no GUI control to change the timeout. To change the timeout requires the hideous dconf-editor.
  • The old-syle Notification Area is being deprecated in favor of a new Status Notifier Item (SNI) scheme. Each user had to manually reconfigure the panel. Not doing that resulted in some “system tray” icons not displaying, such as the Network Manager and Power Manager applets.
  • Depending on user preferences, the panel height needed adjustment. Without adjusting the height the panel window buttons would stack two-up before spreading across the panel.
  • The MATE Tweak tool contains options to change the entire panel layout. This tool is unforgiving with respect to restoring a previous custom layout. Try as I might I never could fully restore a previously saved panel. In other words, users were instructed not to tinker.

I thought Ubuntu MATE was one of the stable Ubuntu flavors. I thought wrong.

Possibly I needed the breakage as a slap back to reality. Historically Ubuntu is known for not being great with quality assurance. Historically Ubuntu is known for installing bloat. For a reasonable purpose, I suppose — the target audience is the lowest common denominator user.

I now realize that Ubuntu “flavor” distros target “enthusiasts.” They do not target the lowest common denominator user. That means a tendency to push bleeding edge technology — even more so than the upstream parent Ubuntu.

Through the years often I have read of users who started with Ubuntu and then after gaining experience moved to Debian. Debian is not designed to cater to the lowest common denominator user. Similar to Slackware, users build their own distro by adding packages rather than removing the extra baggage.

Originally I thought Ubuntu was a reasonable compromise of free and non-free software and recent versions of software. Debian has a reputation of having “stale” software. I now realize that recent versions of software is a low priority in business usage. Stable software is a much higher priority and Debian is well known for being stable.

This kind if irritation is unacceptable. Just too many damned paper cuts. I don’t care what fan boys have to say.

I gave Ubuntu MATE a fair shake once before. I discovered the same paper cut syndrome. In hindsight, which is always better than 20/20, perhaps I should have known better.

Release 18.04 is supposed to a long term support (LTS) version. That is, stable. At version 18.04.2 — the second point release, I presumed most if not all original release bugs had been fixed. Apparently not.

I suspect that testing pure Debian is now my next step.

Posted: Category: Usability Tagged: Migrate, Ubuntu

Next: VirtualBox Extension Pack License

Previous: Booting to Console