In December last year I wrote-off my laptop by pouring coffee over it. After hunting for a suitable replacement I ended up with a Lenovo X230 sporting 8GB ram and a speedy SSD. I decided it would be a good time to revisit Desktop Linux. As someone who’s used Linux on and off as a desktop OS for about ten years now, I thought I’d discuss what I consider to be its pitfalls.
As a previous Gentoo user I enjoyed using Arch. It provided similar levels of flexibility without the requirement to compile everything. For Linux users who want to try something more involved I’d definitely recommend it.
In terms of what I see as the current areas holding back desktop linux, there are as follows.
Many linux distributions rely on open-source versions of fonts rather than using the same fonts used by Windows or OSX. Fonts such as Verdana, Tahoma, Comic Sans MS are proprietary and require a license agreement for use. This makes it difficult for Linux distributions to ship with these by default.
Older versions of some of the fonts are available. Back around the year 2000 Microsoft released these under what they called the “Core Fonts” program, allowing these to be redistributed under certain circumstances. Unfortunately due to some violations of the license Microsoft ceased the program, as a result newer versions of the fonts that feature “hinting” and other advances in rendering are not available to Linux users.
This problem seems to be compounded by poor default rendering of Freetype fonts under linux. They seem to lack the same smoothness that is available on other platforms. Some projects, such as Infinality, address this by providing patches to improve font rendering.
Suggestion: Petition Microsoft to restart the “Core Fonts” program they had back in 2000 that allowed for redistribution of fonts.
Plug & Play support with docking stations and monitors is clumsy. Today I expect to be able to just dock my laptop and have it automatically switch to external displays. Linux has a few multi-monitor options but none of them seem to “just work” when switching between mobile and docked.
Suggestion: Make switching seamless. Xfce monitor configuration helps with this but remembering previous settings and restoring them should be easy. (I didn’t get round to testing with KDE or Gnome, so they may have solved this).
One of the many strong points Linux has is flexibility. Components have traditionally been written so that they can be swapped out and replaced. In my view this is also its weakness.
A traditional Linux Desktop may consist of the X.Org display server running either the Gnome or KDE desktop environment. Unfortunately for the end-user, both of these desktop environments use a different set of API’s (widget toolkits) for drawing buttons and other elements on the screen.
If a developer chooses to write their application using the GTK toolkit (for the Gnome/XFCE desktop environment) the application is likely to look out of place on a desktop that uses KDE for other widgets. This problem gets worse when you take in Windows-Compatibility layers such as wine and mono, which draw widgets in a windows classic appearance.
Applications such as Citrix Receiver are only available as a binary for certain distributions. In order to be easily installable they must be repackaged, often breaking their terms & conditions which prevents them being included in out-the-box software repositories such as apt, pacman and emerge. If these break at some point, and the packager no longer maintains them, getting things working again is a real pain.
Suggestion: Ideally software vendors should be more liberal in their repackaging rights, though I find this unlikely to happen.
I was pleasantly surprised with how far some Linux apps have come along. There are genuinely capable replacements for many Windows applications such as Adobe Lightroom, Steam and others. It appears as if gaming on Linux is still gaining traction and more developers are coming online with support.
For desktop computers, I say go for it. Give Linux a try and you’ll probably get on fine. For portable devices however, it takes some work to get a usable environment.