One of the things that really separates Linux from both Windows and Mac OS X is the desktop. In both Windows and Mac OS X you get a desktop, which comes with its own metaphors, and you have to pretty much learn to live with that. The Operating System and the Desktop are essentially synonymous. Sometimes this can cause real problems. The launch of Windows 8 has seen the biggest change in the desktop metaphor since Windows 95 (I could comment on a naming convention that goes 3, 3.1, 95, 98, XP, Vista, 7, 8, but that will have to be a post for another day). And many people aren’t particularly happy with the new interface. I know that when I am required to use it, as, for instance I set up someone’s new laptop, I spend most of my time looking for things that I used to know how to find. Fortunately, I quickly found the search function, and probably use that more than anything else. And as for Mac OS X, as users are slowly lead (through a series of expensive software and hardware upgrades) to the expected melding of the iOS and Mac OS interfaces, users have to get used to changes in the way things work every time.
Users of both Windows and Mac OS X are used to their set up, and in reality, there isn’t a sensible or universal answer to the question of which is better. Users of both systems become comfortable with them. I personally don’t like the way that the Mac menu is a bar at the top of the screen which changes depending on which application is active. This approach seems especially churlish when you have a huge monitor and you have to move the cursor right to the top of the screen to pick a menu item. There are some oddities (from a Windows users perspective) about having to select a window before you can click on it, necessitating double clicks when changing applications. Since the introduction of Windows 7 I have got used to using the menu in much the same way as I use the terminal in Linux, or the alt-F2 application finder. I don’t bother looking for the icon, I just enter the first few characters of the app, and then select what I want. I recently found out how to do something similar using Command-space in Mac OS X.
So what of Linux? When I first used Linux, back in the late nineties, it came with either the command line, or an awful windowing interface called CDE. It was ugly. It wasn’t really slow, but it didn’t really serve much of a purpose. Linux was still very command line driven, with all of the learning curve requirements that that involved, but at least you could run multiple terminals on your desktop. However, CDE was remarkably limited by just how few applications were available for it.
Since then, there have been huge advances in the Linux desktop. The obvious players are KDE and Gnome. KDE was what I used when I first moved to using SuSe Linux. It came with good programs which handled browsing and email. KMail even supported the use of encryption keys and signing. Gnome was available, but hadn’t been customised as much, but was easier to fiddle with.
I suspect most users chose their desktop on the basis of whichever was the default for their particular distribution. And over the years I have had positive and negative experiences with both. Most recently I was using Gnome for a long time.
But then I got a laptop which I felt, although it is a dual core machine didn’t really have a huge amount of ‘oomph’ to spare. I wanted to make sure that I made the best of what power I had. So I began to look at the alternatives to the default Gnome. And because of the modular nature of Linux there are an awful lot to choose from. Some of them set out to be a lightweight, but ‘normal’ replacement. Examples are Xfce, Openbox and LXDE. Xfce and LXDE especially are the sort of environments where Windows users will feel right at home. Openbox is less obvious as there isn’t a menu bar by default, though adding one is easy. Instead it uses a ‘pop-up’ menu which appears when the right hand mouse button is clicked. From that the applications can be started, and cycling through open applications was achieved in the usual Alt-Tab manner.
Having experimented with Openbox and Xfce I settled on Xfce for a long time. It is lightweight and fast, and worked well on the screen on my laptop. I spent a long time tweaking the functionality of Xfce. I had Conky running with my own brew configuration file which showed processor activity, network activity and disc usage. I was very happy with it, and I stuck with Crunchbang, by distribution at that time for quite a period, just because I was so happy with the desktop.
But then Crunchbang went with Openbox as its default, and I moved on to the new kid on the block, the marvellous Linux Mint. Of course, Mint has made its name by using a fork of the old Gnome 2 desktop (as opposed to Ubuntu’s Unity or Gnome 3). I definitely don’t really like Unity or Gnome 3 as both of them seem intent on using a similar approach to the ‘screen top menu bar found it Mac OS). So I used Mint in its Xfce form.
But I have also been looking at some of the other, less conventional options. For the sake of this post the ones I investigated most seriously are Ratpoison and Xmonad. Ratpoison is best considered a windowing equivalent of the command line program ‘screen’. You can open multiple programs and then navigate between them using the keyboard. It is designed to run everything full screen (which can be odd when you want to run multiple dialogue programs like The Gimp). I loved the idea, but I find the insistence on full screen a little daunting, especially on my work desktop. A small application filling a 27″ monitor seems a profligate waste of screen space! Xmonad is similar to Ratpoison in that most of its functionality can be driven by the keyboard, but it works more along the lines of tiling the windows it creates automatically so you can open programs that you want to use and have them fill the available space automatically. There are lots of ‘recipes’ for tweaking behaviour, especially in terms of keyboard layouts. This is especially of interest to me as I tend to use the Dvorak keyboard layout whenever possible.
One area of Xmonad which I would really like to investigate in the future is its multiple display support. It implements libraries for binding multiple displays into one unit, which sounds like great fun if I ever get to use. In the meantime this big display, chopped and spliced on the fly is an interesting concept, and I could see it becoming by preferred display for the time being.