Upgraded to Xorg Xserver 1.20.5 today (in 2 minutes)

See https://savoury1.github.io/ubuntu-rolling/ for in-depth technical information
about the Ubuntu Enhanced installation referred to in this article.

 

All the background work to create the Ubuntu Enhanced (or “Rolling” Release) system paid off well for me today, as it has many times before. It took all of a couple of minutes to upgrade the Xorg Xserver X11 software (some 64 specific packages were upgraded) to the latest 1.20.5 version in Eoan (now in beta) on my custom Serena Enhanced installation.

There were some minor bugs in 1.20.4 (Disco, which is what was previously on my main system) that are supposed to be fixed in 1.20.5, so now that Eoan has that new version it was time to upgrade. By updating the package list files and running the “enhance-scripts-make” script, it was as easy as then typing “enhance-all” in the terminal to seamlessly install the very latest Ubuntu repository version of Xorg Xserver software.

In terms of the 2 minutes it took, there was about 30 seconds of opening three text files and doing global search and replace (changing the “D” prefix to “E” in three files for X11 related software). Then a couple seconds to type and run “enhance-scripts-make” to create the new enhance scripts. Next, running “enhance-all” took about a minute, including downloading 64 new Eoan packages and installing them. Then about 25-30 seconds to reboot the computer.

Voila! New Xorg Xserver 1.20.5 version and hopefully a few fixed bugs, while still on a Xenial-based system.

A Tale of Dock


 

In a vehicle, having easy access to the main controls, including on the steering column, the gear shift, and the dashboard, is critical to being able to control the vehicle effectively. It is also critical to safety and survival in a vehicle, as if you cannot turn on the headlights at night in the rain, for instance, then the chances of mishap would increase significantly.

With a graphical operating system on a computer, a key “dashboard control” is the dock. The place where you pin your most used application icons, so that you can quickly and easily launch the programs you need to launch to do the work you need to do. When the dock malfunctions or is buggy, it can be a big impediment to effectively using a computer, and it can be quite annoying.

 

Malfunctions of Dock

Some examples of possible dock malfunctions include these:

* You pin an icon to the dock, but when you load the application, it becomes another (unpinned) icon on the dock and doesn’t stay on the icon you clicked.

* You pin an icon to the dock, but when you click it there is no active icon for the application you just launched on the dock (including it’s own pinned icon, which is clearly not active), so if you’ve minimised the application you will need to use [Alt]+[Tab] to switch back to it.

* You load an application from the menu that is not pinned to the dock, and no icon at all appears for that application, once again resulting in the need to use [Alt]+[Tab] to switch back to it.

All of these malfunctions were indeed happening for me (and consistently so with particular applications) with the dock I’ve been using for years, which is MATE Dock Applet. Unfortunately, the applet hasn’t been maintained for those who still choose a GTK2 desktop. The stance of this writer and computer technician is clear relative to a GTK2 desktop – it is valuable as it is fast, light weight, not overly complex, relatively bug free, and really quite good. Other commentaries on this blog also clearly reflect this stance about a GTK2 desktop.

However, due “new features” (were they needed?) and “improvements” (for some, but not others) in the MATE Dock Applet, newer versions with many useful bugfixes were completely unusable on MATE 1.16 (GTK2) due to all those new features and improvements. Symptoms including no icons at all on the dock, or the dock spontaneously crashing happen consistently on GTK2 desktops with the newer applet versions. Thus, GTK2 desktop users have had to keep using buggy older versions if they happen to like MATE Dock Applet, yet this is a critical “dashboard control” for a computer!

This led me to take on the task of packaging a newer version of MATE Dock Applet than was available to GTK2 desktop users, such that people using such desktop environments can make use of this excellent (at least, if it was a bit more bug free!) dock. Big thanks to Robin Thompson for putting in all the hours to making this great dock applet a reality. Now that Robin no longer has time to maintain the applet it was clear that someone else needed to make a newer GTK2 version a reality.

 

Walking the Git Tree

All this git stuff is pretty new to me. A whole world of pushing and pulling, committing and reverting. What’s the git status? Let’s take a quick look at the git log. Hmm, what’s the current git diff situation? And so on, and on, and on. It’s a mini operating system in itself, the operating system of “code creation”.

There were about 80 commits in the tree since the version of MATE Dock Applet that I was using (0.78) on my fast and light weight GTK2 desktop. It was clear that the applet completely stops working at all with GTK2 after about version 0.85, so what commits happened around then? Well, some fancy HiDPI stuff for folk with super-expensive screens (which is not what the vast majority of computer users have, by the way). That sure looked suspicious.

Doing a hard reset of the git tree to any of the HiDPI commits and then building the applet gave the same result after installation: no dock icons at all. So one problem identified. Moving the tree further forwards in time and using a patch file to remove the code changes of those HiDPI commits gave a fully functional dock, also with bugfixes from newer commits than the not so useful HiDPI ones (at least not so useful for GTK2 desktop users with regular good ‘ol HD screens, you know, 1920 x 1080 pixels, quite a lot actually and do I really need more? No!).

Similar processes led to the necessary eradication of other “improvements” that were clearly focused on GTK3 desktops. This included changes to the way running applications were matched to the correct icon, the addition of a dark theme background (dark theme already works fine on older MATE Dock Applet versions, so what was this about?), and the use of a newer library than exists on Xenial 16.04 systems (ayatana) during the dock launch process (ie. initial desktop login) which was causing seconds of delay to the dock actually finishing loading.

It took about three days of work, so more than half a usual working week for sure, to walk that git tree sufficiently to nail down the various commits that were causing the issues and create patches to undo those commits. Yes, as a learner with all this, it might have taken longer than some “seasoned pro” git using developers. In any case, the end result is good and that counts for a lot.

 

Fully functional MATE Dock Applet on GTK2

Now when I load an application, I am confident it will have the correct icon, not add any spurious icons and that I can switch to it by clicking it. When I load an application from the menu, including obscure Java-based software that was not showing any icon on the dock, the icon appears and all is good.

A fully functional and relatively bug free dock is important in the use of a graphical desktop environment. Whatever modern operating system one uses, whether it is focused on penguins, fruit, or glass panes, the dock is a fast and easy way to launch applications and switch between them. The three days was worth it. And a lot of mistakes were made, yet a lot of learning also.

Cheers to the dock!

Serena (Xenial) Enhanced (with 80% Bionic and 8% Cosmic)

Serena Enhanced
Serena (Xenial) Enhanced (with 80% Bionic and 8% Cosmic)

See https://savoury1.github.io/ubuntu-rolling/ for in-depth technical information
about the Serena (Xenial) Enhanced installation described in this article.

There is a movement afoot to “dumb down” all computer software and device apps and websites (and the rest of the technology world). Not to mention the same “dumbing down” that is happening in so many areas of our lives, consider TV news and the like, all of which is constantly telling us what to think, what to feel, what to do, and how to be.

To tell another how to be is arrogant and disrespectful of that other. Yet this phenomena of “important people” on the news or in corporations telling others “how to be” is going on all over the world at present, in every area of our lives. This includes the entire realm of computer software and computer devices, where we are all being forced to the corporate way of using our computers and devices, with the “paradigm” being the limiting of our options (even though we are the paying users of these toys!), removal of features, forcing us into one track, to do things one way.

 

Computer Desktop Colors

A key example of such dumbing down is in regards to choosing colors for the desktop of a computer operating system. In the free software world of Linux based distributions, for many years GTK2 (a GUI toolkit) based desktops allowed a simple way to change at least a handful of the fundamental colors of the desktop environment. With GTK2 a control panel appropriately titled “Colors” was available. Yet in “modern” GTK3 based desktops this basic color control panel feature was removed.

Serena Colors
Colors control panel as seen in Linux Mint Serena 18.1 MATE

People (like me) who mention real annoyance at the removal of this basic ability to customize the colors of the desktop are called “dinosaurs” or told they are “struggling with change”. These are nonsensical statements from developers driven to defend their dubious actions of creating “change for the sake of change”, even when such changes equal feature removal and the effective “dumbing down” of the software.

With Windows 3.0 (over 25 years ago) it was easy to customize colors and with all Windows versions through 7 it was still fairly easy. Then with Windows 8 the dumbing down process sped up, with barely any built-in means to customize the desktop colors any longer. This trend continued with Windows 10, which also has almost no built-in way to perform any real customization of the desktop colors.

Back to free software, with GTK3 (the newer and supposedly “improved” GUI toolkit) there are surely complex and detailed ways to “theme” the desktop (compared with GTK2), yet the simple ability for an ordinary user to change their desktop colors to those they find aesthetically pleasing has been bluntly removed. And based on reading of blogs by various GTK3 theme makers, the GTK3 themes seem to require a kind of arcane process to get them working, yet then the GTK developers often break much in GTK3 by frequently and significantly changing all kinds of syntax and code!

 

Free Software ≠ Corporate Software

Why is the free software movement following such negative and corporate trends? Why does the GTK team and other teams of programmers working on free software (ie. the Firefox development team, who bluntly removed support for years worth of excellent extensions in recent versions of Firefox) seemingly have similar corporate attitudes about how all this feature removal is somehow “good” and in the interests of the person using the computer?

Dumbing down is not in the interests of any of the people spoken to by this writer (and having done paid computer technical support of all kinds for over 25 years, people spoken to include hundreds and hundreds of end-users in various countries, so people with all kinds of backgrounds and varying technical aptitude). It is obvious that the Great Dumbing Down or GDD is in fact an intentional process that is being enforced by huge and very powerful global corporations, such as the tech giants.

 

Corporate Interests Limiting Options

It is easier for the tracking of our every computer action (meaning everything we do on our phones, tablets, “smart” watches, notebook & desktop computers and the rest) if there are only limited options available, such as with web browsers for instance. By brute force and no doubt huge bully (economic) pressure on all and sundry, Big Brother Google or BBG has enforced Chrome as the “de facto” web browser on the planet.

It serves the interests of big corporate players for most people to use a malware web browser such as Chrome from BBG. Tracking everything people are doing is even easier when you not only monitor their ISP traffic but see every link they go to straight from the web browser.

 

Free Software = Freedom to Choose

Relative free software and Linux-based distributions, due the GTK3 feature removal of color controls, GTK2 based desktops are a great choice for a fast and light weight alternative. Hence, MATE 1.16 is an excellent, simple, fast, and color customizable desktop environment. This makes Linux Mint Serena 18.1 MATE (released in early 2017, so now two and a half years “old”) a great choice for a Linux distribution with a GTK2 based desktop.

With that background, an experiment was undertaken to see how much of Serena (essentially Ubuntu 16.04 Xenial) could be upgraded with Bionic and also Cosmic packages (installed straight from the Ubuntu repositories, using the usual commands). This experiment was deemed important in the interests of having a Linux distribution with a GTK2 based desktop, but with most of the system being upgraded to much newer and more current components for up-to-date functionality, security and performance.

Over approximately nine months, with careful cross-referencing of package dependencies and related components on the Ubuntu packages web site, significant parts of Mint Serena 18.1 MATE were progressively and successfully upgraded with Bionic and Cosmic packages. This includes: the core C libraries; all kinds of security, networking, disk, audio, multimedia and system libraries (such as dbus and systemd); Gnome and GTK libraries; as well as KDE and Qt libraries.

All of these upgrades are with versions usually 2-3 years newer than the packages included with Xenial. Thus, this allows running a wide range of software that is 2-3 years newer than the versions that can be run on a straight Xenial-based system (such as Mint 18.1 Serena MATE).

 

Serena Enhanced – Ubuntu “Rolling Release”

About 200 hours have been spent on this experiment thus far, so at least one month worth of full-time work spread over nine months. The result at present (mid-2019) is a Xenial-origin system (Mint Serena 18.1 MATE) with 80% Bionic and 8% Cosmic packages, leaving only 12% or 1/8th of the system as Xenial. So far this system has been extremely solid, fast, and flexible due all the newer components that allow running newer software, while being based on a light weight GTK2 based MATE desktop with colors!

This experiment has proven that even Ubuntu can be somewhat of a “rolling release” distribution, with the ability to upgrade many core system packages over time to newer versions from more recent Ubuntu releases. There is a certain modularity to any Linux distribution and the upgrade process resulted in careful categorization of packages in about three dozen discrete areas.

By installing newer packages in a specific order based on inter-dependencies between these few dozen package categories, a Xenial-based distribution can be reliably upgraded with 80% Bionic and 8% Cosmic packages. Of note is that KDE and Qt comprise most of the 8% Cosmic packages. To have these two particular components as new as possible was a key motive for the entire experiment, as numerous recent software packages require KDE and Qt libraries that are much newer than those provided in Xenial (eg. digiKam 5.9.0).

Given the amount of hours and effort spent on the project, it is time to release the findings to the public domain for the benefit of others who might want to create a similar “hybrid” Ubuntu-based system. The ability to run software created for both Xenial and also Bionic (and Cosmic) is a key advantage of this hybrid installation. Thus, “Serena Enhanced” is an example of a most flexible Ubuntu-based system.

 

Computers as a Tool for Real Work

In closing, the modern addiction to frequently revamping the look of computer desktop environments has no real purpose apart from “change for the sake of change”. A computer is a tool, like a hammer. Does one constantly change the appearance of a hammer, with new colors and fancy decorations? No, no one does that (at least no one this writer knows!).

A hammer is a tool with a purpose and when work requires that tool, doing the work is the key, not how the hammer looks. Similarly, a computer is a tool and when work requires that tool doing the work is the key, not having all kinds of fancy looks on the computer desktop. For many of us who use computers for real work, keeping the visual appearance of the desktop as simple and out of the way as possible (such as using the same set of preferred desktop colors one has used for years) is optimal.

Fixing bugs in existing software and making existing features work better is unfortunately often secondary in the current information technology scene to the constant drive for new “features” and “change for the sake of change”. Sure, it’s not as glamorous to fix bugs and simply improve what is already in place, but this is actually far more important for almost all computer users (that this writer has ever spoken to) than the constant changes being made to existing software.

Perhaps when human kind moves on from being as besotted with superficial appearances altogether (such as having the latest whizz-bang fancy phone, with the latest time and energy wasting animation effects on every little action) we will actually get down to honing these computer tools to do real work with less silly fluff. It would indeed save fast-dwindling and finite planetary resources to tone down all that special effects nonsense on modern computer devices, all of which consumes electricity and (unless it is from renewable sources) uses physical fuel. To keep the visual appearances simple while providing powerful tools to do real work is without question a more efficient and optimal paradigm.