Riding the Unicorn (#Ubuntu)

Ubuntu came out with its latest and greatest recently, so I was keen to upgrade. I have a quiet, small form-factor ASUS VivoPC which I use as a server for web, mail, but also do a lot of programming work on it. I also have a Dell slimline Vostro for desktop work. I quite like small form factors for their space-saving and aesthetic appeal.

The server upgrade went as smoothly as could be expected. The previous release was a Stable version, so Ubuntu does not tell you that a new release is available. I had to tweak some settings so that the new version was recognised. In my fstab, I had put in an entry for a removable drive. When I rebooted, I couldn’t ssh in, because the boot process had halted, asking me what to do about the missing drive. That was inconvenient, but purely my fault. After that was sorted, there was very little in the way of reconfiguration work that needed to be done. Mail and web servers required no tweaking. The ftp server, vsftpd, seemed to fail starting up. I decided to remove that package anyway, as I found that the Nginx web server offered me a better solution.

On my desktop, I can dual-boot Windows 7 and Ubuntu. I upgraded Ubuntu to 14.10 (Utopic Unicorn), and the process went without hitch. The only problem is that Grub now defaults to booting Ubuntu instead of Win 7. That’s something that I need to sort out.

Could I live with Linux as a full-time desktop? Probably not. I think it’s all about the webcam. DVDs, skyping and community chat sites just work better under Windows. There’s a dilema. Linux offers me a great developer environment, but fails in some media areas. Windows is the other way around. If I boot into Linux, I then run into problems in that there is something configured in Windows that I really need, so I have to reboot (please don’t offer me solutions to this, because I am aware of potential workarounds). The upshot is, I find it better just to boot into Windows.

I have tried other solutions in the past, like Virtualbox, but I never really stuck with it. Virtualbox seemed to keep borking the NTFS partition if you opted for a resizable drive. I also had a quick glance at coLinux and friends, which effectively allows you to run two operating systems simultaneously. coLinux seems something of a dead project, though, and too fiddly to set up. It’s an interesting idea, though.

An idea that I have hit upon recently is to have my server as my main Linux box, and then use VNC to remote into it. That is actually proving to be quite viable so far. Window’s Cygwin does have an X-server, but it’s fugly and inconvenient to use. VNC also seems to be faster. Sessions are ongoing, too, so I can shut down my desktop, and come back to what I was doing the next day. I am still experimenting with VNC. I tried TightVNC as a client, but the rendering is terrible. TigerVNC is much better.

Seeings as I wanted to use VNC, I wanted a light-weight desktop environment on my server. I tried jwm, flwm, icewm and awesomewm. I abandoned them for various reasons. The first three were somewhat primitive, and exceedingly ugly. Icewm was the best, but its menu layout wasn’t to my liking. I wasn’t in the mood for learning how to configure menus manually. It was also damn ugly. I think some of the problem is due to the font rendering engine. I have noticed similar problems when using Slackware. WARNING: what I am about to say is probably technically inaccurate … but my understanding is that Linux has a number of font rendering engines. Desktop Environments like Unity and KDE use a good one, but most of the others use the GTk one (??). What that results in are menu items that are oversized. The fonts aren’t “bad”, but are not “good”, either. They definitely look like a throwback from the 90’s. I have seen worse, so let me be generous and say “throwback from the LATE 90’s”. Awesomewm – no thanks. I didn’t install Englightenment, fluxbox, blackbox or WindowMaker. I’ve had past form with them, and I didn’t fancy them as windowing environments.

In the end, I opted for good old Xfce4. It takes a bit of fiddling to get it how I want it, but in the end, it comes closest to how I want a desktop environment to be. I also thing RazorQt has promise. i think they need to sort out some of their bugs, and introduce aerosnap.

Time for some ranting about desktop environments … Gnome. What can I say except: “have their developers all had lobotomies?” Usability has taken a retrograde step, and I didn’t like the blocky looking windows. Ubuntu’s Unity, the last time I saw it, has the most aesthetically pleasing environment that I have seen; and I’ve seen OS X! Too bad that it, too, takes a step back in terms of actual usability. KDE is “mostly harmless”, but it’s quite slow, has unecessary features, and is ugly in places.

My whole thinking on Desktop Environments is, I think, best summed up by Antoine de Saint-Exupery: “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away”. DEs need to straddle the fine line between features, and a refined sense of simplicity, asthetics, and balance. For example, consider wallpaper backgrounds. Some of them are quite good, but will incorporate subtle colour gradients. To my mind, that is a bad idea. When it works, it can work well. The problem is, if rendered poorly then the gradients aren’t smooth, the gradations are “in your face”, making it look very bad. Window decorations is also another area in which designers seem to compete with each other as to who can produce the most atrocious look. LXDE seems a particularly egregious example. As far as I recall, Manjaro produced an LXDE theme that was actually very good. I would like to see LXDE adopt it as the default.

The gaffs don’t stop there, of course. For example: convention is that active windows whould be a shade darker colour than inactive windows. Not a different colour, and certainly not a lighter colour. The problem with using different colours is that if you have two windows on screen, but are unfamiliar with the colour scheme used by the window environment, then it is confusing to decide which window is active. If I recall, Linux Mint actually made the window border lighter. The windows title was also difficult to see because it was in the same colour as the border. What were they thinking? Keep the titles black, so that it contrasts with the border colour.

Also, do not use two colours in window title bars, or gradients. They just look ugly. Thankfully, Ubuntu has realised the error of its ways long ago. Also, put resizing buttons on the right of the window, not the left. Putting them on the left is just a gratuitous change for no reason. Also, they should be a X for closing, underscore for minimising, and overscore for maximising. It’s a perfect convention. Red, green and whatever else colour they decide upon is relatively meaningless.

What I’m saying is, the perfect desktop environment should look a lot like Windows 7. Forget Apple. Windows 7 is the closest I have seen to perfection. Xfce has a separate docker, for example. Well, that’s just a waste of space, because that could easily be accomodated in the task panel. Also, it should have the task panel at the botton, because that’s what Windows 7 has. I repeat: don’t introduce gratuitous breaks in conventions; unless you have a really good reason for doing so.

Windows 7 isn’t perfect. The task panel is transparent, which can cause some readability problems when windows are below it. They could have done some things better with the clock. So it’s not perfect. I would like to see desktop environment designers take the Windows 7 design as a base, and tweak it so that it’s even better. Also, what I find, which is difficult to define what I mean exactly, is that Windows 7 tends to have a better “feel” to it as regards to windows movement and placement.

Anyway, that’s enough ranting about usability design for now.

I have done a lot of distro-hopping in the past, but feel that Ubuntu is right for me. It’s a little bloated. I do like apt-get systems, so it’s a toss-up between Debian and Ubuntu. Ubuntu seems more up-to-date, so is a better choice for me. I think Ubuntu is good as both a desktop and server. I wouldn’t use Ubuntu as a production server. For that, I would probably choose Slackware. And not one of the *BSDs. I hear that Red Hat is used a lot on production servers, although I don’t really know what its advantages are. Whenever I’ve used RPM-based package managers, I’ve never been that impressed. The only thing I can think of is that corporations like Red Hat because they like the idea of support hand-holding.

I am also not a fan of rolling releases. Too much breakage. I tried Arch Linux. It has bleeding edge software, but I found I spent too much time mopping up my own blood from the carpet. And Gentoo – what is that – some kind of OS-equivalent of bitcoin?

So, in summary, my choice is governed by the following:
* Debian too outdated, even in Testing
* Slackware rock-solid, and great in principle, but just a little too much manual configuration (I still rate it as my second-most favourite distro) * Slackware derivatives – no point, just don’t install all the software
* RPM-based distros – kinda slow, and I never figured out their advantages over apt-get systems * rolling releases – no, too prone to breakage
* manual-build distros (Gentoo, etc) – hell no

No doubt I’ll try other distros in the future, but for now, I like Ubuntu. It was worth upgrading for me, because I do like shiny new software. I do like stability, too, and Ubuntu offers me the best compromise, I believe. Other people’s mileage will definitely vary, of course.


About mcturra2000

Computer programmer living in Scotland.
This entry was posted in Computers and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s