Cen·trych (sĕnˈtrĭk)

Centrych is based on a centrist philosophy; that better solutions exist between extreme points of view.

What is now a desktop and derivative of Ubuntu began nearly two years ago as a Debian-based small office server. The original idea was to create something with a simple desktop-based management console using Xfce to make it accessible to those familiar with the Windows desktop model of a panel on the bottom and a system menu accessed from the lower left.

Over the next half-year two issues stood in the way of real progress; the conservative nature of Debian with regard to package updates and the need to run a few KDE/Qt applications.

The first was solved by switching to Ubuntu. At that time 12.04 LTS had been out for a few months and seemed a decent compromise to the "install once" ideal of Debian by at least having the ability to do upgrades to new releases as opposed to complete re-installation.

The second issue was more involved. Like most, I viewed the KDE/GNOME situation as an either/or problem. It was always a concern that the next KDE application installed would have the dreaded dependency on the imaginary kde-all package. It wasn't until I experimented with Ruslan Kabatsayev's Xfwm Oxygen theme and associated patches for Xfwm that first got me to seriously consider a unified desktop.

Before that could happen there were two problems that had to be solved. First was the Xfce session manager. While it hinted at the possibility, with its siren call of being able to independently control GNOME and KDE services from the Advanced tab, that wasn't the reality. Second was being able to corral KDE, from unneeded services and packages, to its system settings.

I tackled the session manager issue first. While I was aware of the improved KDE service handling in Xfce as a result of the 12.10 release of Xubuntu, there was still the problem of the GNOME keyring interfering with the ssh-agent (and gpg-agent when gnupg2 is installed). Most people will simply disable or remove the GNOME keyring, but that was an unacceptable solution for me. Ultimately, the problem was solved by adding the ability to individually control the GNOME keyring components and cherry-picking the necessary bits from the 4.10 session manager code.

Reigning in KDE was a much different task. Suffice to say, were it not for the flexibility provided by Debian's package management system I doubt it would have even been possible.

It was now mid-December of last year and I had interviewed for a position with a parochial school system. (Un)fortunately, that didn't materialize due to their funding constraints and internal politics. But, the state of their desktop situation got me to thinking about the work I had been doing. On the one hand, there appeared to be some reasonably large number of XP desktops out there, most running on still usable hardware, and all with a little over a year of patch support left. On the other, was the industry trend of tabletification of the desktop. Between the two, I figured it had to be worth a shot.

Thus Centrych was born, well, after a few months hiatus due to another project for the first quarter of the year...

So, where does the whole "centrist" thing fit in?

To me, it started with applications. One of the most visible short comings of the Linux ecosystem is the lack of applications when compared to what's available for Windows. The idea of a unified desktop with a similar look & feel for applications written for either GNOME/GTK or KDE/Qt seems to me to be something that will attract end users who are more concerned with the total number of available applications than the nuances of a particular desktop environment.

But, where it really crystallized for me was in overcoming my own feelings towards VirtualBox. Having been a VMware user since the 2.0 days, the arrival of VirtualBox did interest me but, in the end it just wasn't worth it to start all over again just so I can say that I was using a non-proprietary solution. Especially one that I didn't consider competitive from either a feature or performance perspective.

Are things different today for VirtualBox? Sure, that's certainly case. But, there's also Oracle too, and that's what did it for me. As much as I disagree with that company's management, I'd only be punishing my (prospective) users by limiting virtualized support in Centrych to VMware. From that I committed myself to not restricting a user's ability to choose, even when that something may be proprietary or have undesirable licensing. However, there are two notable exceptions:

  • It's been demonstrated to be both unreliable and either unsupported or managed by someone who's unwilling to fix the problem
  • Any technology that "phones home" or compromises the user's privacy without giving advance notice and explicit opt-in during installation

Another area is, what I term, LTS+. While the idea of a long-term supported release is appealing, it's somewhat muted by how stale the non-system side, the applications, can get over time. While having regular security patches and system updates to support new hardware is important, a lot, perhaps a majority, of users place more value on newer application releases.

For me, it was the addition in 12.10 of full disk encryption in the GUI installer that I felt was important enough that I considered switching to the interim release model. But, the 12.10 release, at least early on, seemed to be causing problems for a lot of users. So much so, that some of them moved back to 12.04. But, that meant a re-install since a release upgrade was a one-way door. To me, that seemed like way too big a risk to bother with the non-interim releases.

Instead, I backported the installer from 12.10, which was a bit of work. But, it did give me the opportunity to add some functionality, which you can see in the system, options and root panels of the current installer, which also happens to based on the version from Kubuntu 13.04. The bigger job was backporting the necessary packages to get a version of full disk encryption working that allowed the TRIM/discard operation to move through the entire stack down to an SSD.

What LTS+ represents is a commitment to keep both key functionality and applications up-to-date. Most notable is LibreOffice since I've positioned Centrych as a productivity desktop. The same applies to other applications that are run by responsible development teams who can be counted on to release reliable code, these should also be updated regularly. Those applications, combined with backporting key Ubuntu updates from each non-interim release, like Gufw and GIMP, and Wine, should all be kept up-to-date. In the end, I think that's a much more sane way to go about things then to simply take a snapshot of Debian unstable every six months. After all, it's named "unstable" for a reason.

Finally, the kernel. I firmly believe that a desktop OS should have a kernel that's tuned for desktop use, and that's exactly what Centrych has. I also don't agree with the general trend away from the non-PAE kernel. If your system has less than 3GB of RAM installed, the PAE kernel is worse than useless since it has a performance hit of about 5% compared to the non-PAE kernel. Centrych is committed to providing non-PAE kernels for that reason alone.

Well, that's it, the story of Centrych to date. I'm hoping that there will be much more to write about, mostly in code, but here as well.

I also hope that if you decide to give Centrych a spin that you end up enjoying it half as much as I did in building it.


Jack Radigan
October, 2013