Linux

Last updated on December 31th, 2008.

As Linux is a new (well, not quite so new, actually) phenomenon, I recently switched to Linux too. On this page you can consult what programs I use, what the most interesting programs can do, how you can get work done quite efficiently with a great looking system.

Linux Distribution: Ubuntu

While Windows and Mac OS X come from one company, Linux does not. The term Linux only specifies the kernel of the operating system, which is the heart of your operating system. On top of that, you have several programs, desktop envionments, software repositories, etc. Each Linux distribution is (mostly) a configured whole of settings and programs on top of the Linux kernel. You can compare a distribution to what you get when you buy a random computer: you get Windows (which also has a kernel) and on top of that you get Windows Media Player, Windows Explorer, and other applications mostly from Microsoft. Some vendors add their own little tools, and the same happens with Linux.

Actually, not only we have different distributions, but a lot of the distributions are based on some of the 'classic' Linux distributions (SlackWare, Debian, RedHat). Distributions of the same family have some things in common (e.g. how they handle software dependencies, what the standard locations are for some files, ...).

I currently use Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex). Which is actually a Debian-based distribution. First of all, Debian has a great system for software dependencies(dpkg/apt), which Ubuntu uses too. And secondly, as Ubuntu is getting quite popular, it is easy to find people who want to get the same thing done so you can work a way out together. Also the fact that Ubuntu has a positive attitude towards beginners, remains true to what I really see as Open Source and even doesn't bow its head to Microsoft, makes Ubuntu a great choice.

As I bought an Asus EEE 1000H in September 2008, so I could easily carry a computer to university, I also use Linux on that computer. And thanks to the work of some industrious people, there is a whole Ubuntu-derivative for the EEE. Currently it is still called Ubuntu-EEE, but that name should change somewhere in the future (due to trademark laws imposed on Ubuntu).

Screenshot

Desktop Environment: Gnome

What most people don't know when working on Windows or Mac, is the fact that the desktop environment isn't part of the core operating system. In Windows the desktop environment resides inside explorer.exe; yes, the windows explorer. But even on Windows, several alternatives exist to adjust how your desktop interacts. Linux also has this choice, but it is more aparent to its users. The two major DEs are KDE and Gnome. KDE is more a Windows-like DE, Gnome on the other hand might make you think of Mac. I prefer Gnome, altough lots of people find it too restricted. I mainly adore Gnome for its sleekness: just plain dialogs, quite a uniform look. KDE has more bells and whistles and looks a bit more like a child's toy to me: a lot of aquaish icons. Ubuntu uses Gnome as desktop environment, but you can also install KDE or even others. Other flavors from the Ubuntu family have these installed instead of Gnome: Kubuntu has KDE, Xubuntu has Xfce (which has some things in common with Gnome, but runs more smoothly on older computers).

Window Manager: Compiz Fusion

Another distinction that isn't widely known in Windows. I don't even know if it is possible to have an alternative Window Manager on Windows (perhaps some of the other Windows DEs have another Window manger). This program mainly handles how you get to move your windows, how they appear, how they hide, etc. The standard windows manger of Gnome is Metacity. It does its work quite well, but isn't all that fancy as Compiz Fusion. Compiz Fusion is a windows manager that is mainly known for its bells and whistles, e.g. its Desktop Cube.

But Compiz Fusion doesn't only have these fancy features, it also has a lot settings you can customize and a plethora of custom keyboard shortcuts. Unlike most people I mostly use my keyboard. Let me give you some examples of things I can do with only a few keys: I can move a window from one viewport to another, I can minimize windows, show my desktop, open up a terminal, run a program, switch from one window to another, move a window to a corner of the viewport, change from one viewport to another, tile my windows, etc.

And now the visuals: Compiz Fusion is more advanced than what Mac OS X offers and more advanced than what Windows Vista offers. Actually, it has stolen a few of the Mac OS X features, and Windows Vista isn't that innovative, so there I wouldn't call it stealing its features. But most things that both other OSes can do, Compiz Fusion can do too visually. You might know the Mac Exposé feature, Compiz Fusion has it. You might know the new Win-Tab feature of Vista, Compiz Fusion has the same and even more. You might know the thumbnail previews of your windows in the taskbar from Vista, Compiz Fusion has it. What the others do not have is the desktop cube, which arranges your viewports on a cube, so that you can navigate them more visually. Windows users might not know what a viewport is: this can be considered as another 'screen' for your computer. You can put some applications on one viewport, others on antother so your screen doesn't get cluttered with all those applications you use: you just change viewport when you need an application of that viewport instead of searching throughout your endless list of windows to get what you want.

Sound System: PulseAudio

This is actually a sound system that is quite new. Unlike Windows or Mac, sound on Linux uses several sound systems, which have their roots in different projects. Some applications use one sound system, others another. Recent distributions support most common sound systems, but sometimes these still do conflict. Pulse Audio is another sound system which isn't that well spread at the moment, but rumor has it that it could get the future standard as it has backwards compatibility for most standard sound systems and offers some nifty features: streaming your audio from one computer to another (or even to a bunch of computers). This was what I really wanted from it: set up a player at my Linux computer and stream the output to my main desktop system with better speakers. But you can also adjust the volume of each sound source or application individually, as is the case in Windows Vista. And this is also available for Windows (but the provided tools for Linux aren't).

Sound Player: Quod Libet

During my Windows days I used foobar2000 (0.8.3, and nowadays also 0.9.x). Foobar2000 is by far the most advanced audio player on any platform (if one doesn't count the many DJ players). Unfortunately Linux doesn't have such a great player, but in my humble opinion Quod Libet offers the most interesting features of Foobar2000 while it is more useable for beginners than foobar2000 is. Another great application (so I've heard) is Amarok, but I generally don't like the KDE way of work, so I passed on Amarok.

Instant Messaging: Pidgin

I am using the Pidgin IM solution, which offers support to MSN contacts. This is quite a plain messenger, it doesn't offer all those MSN bells and whistles, but it has the features I mostly used on MSN with MsgPlus: message logging, contact logging, sending files. It has also support for the major IM networks (MSN / Windows Live, AIM, Yahoo, Jabber, IRC, ICQ, Google Talk, ...). I've used FunPidgin/Carrier for a while, but the improved Live Messenger (MSN) support in the regular version pulled me back in (because I couldn't get that support working reliably on funpidgin). As a consequence I learned to live with the small discomforts of the regular Pidgin.

Web Browser: Firefox

I was used to using Firefox on Windows, as IE was too unsafe and basic for what I needed. The switch was quite easy. In the past I have migrated my Firefox from my home desktop, to a USB stick (PortableFirefox), to another Windows computer and now from that last Windows computer to my Linux computer. All this is actually very easy: make a copy of your profile directory and point the new Firefox where it should get its profile directory and your basicly done. If it doesn't work, Firefox will mostly know which extensions won't work with your new setup and disable them automatically.

Virtualisation: VMWare Server

Still, if you need some virtualisation support, to run legacy applications on Windows, you can just open up a virtual machine. I prefer using VMWare as it works quite well, but I would like my KVM to work. KVM is also very new technology which makes it possible to work at near-native speed. Another way to get your Windows applications working is Wine, but unfortunately this isn't that fast as virtualisation (but comes with less general overhead: for virtualisation of Windows XP as a whole you would want 256 megabytes of memory assigned to VMWare, Wine can run an application at about the same virtual memory size as on Windows). My main need for virtualisation was that for our game I needed Windows XP as Wine was just not working together with XDS, and Wine wasn't even fast enough to run our game. I also need this virtualisation for Adobe and Microsoft programs as they are not available on Linux.

Virtualisation: VirtualBox

After VMWare Server, I waited a while for Xen and KVM but then another alternative popped into existence: VirtualBox. This VM has both a closed-source and open-source variant, from which I use the closed source but still free version provided by Sun. The main advantage I found was support for hardware virtualisation (Vanderpool on Intel), and also the seamless mode it provides. Now Windows-applications run almost as if they were on my Linux box. The main disadvantage is it is even more than VMWare a resource hog: it steals away one core and it doesn't always like to boot up Windows (well, I don't really blaim it). Although, I see no need to return to VMWare, as this keeps me satisfied.

Office Suite: OpenOffice.org

This is a real nice and even more advanced Office suite than Microsoft Office is. The 3.0 version also handles Office 2007 files quite well. And both as bliss and downfall: OpenOffice still uses the legacy office interface (so no ribbon currently). Experience users should feel quite comfortable in that interface, but beginners might prefer the Ribbon interface which is only available in Microsoft Office 2007.

File Synchronisation: Unison

Unison is a program to quickly synchronize files between two computers (or even more with some fiddling). Like the classic UNIX tool rsync, this program is very conservative on bandwidth: it only sends the changes made to the files. I currently use it to keep a backup of my music collection in sync on two portable hard drives. The other directory tree I use it on are my files for university (which reside on the same hard disks). Currently I only have seen one downside: on large trees (like my music collection, with approximately 30 000 files and directories), it takes a long time to look for updates. By splitting this tree into smaller subtrees, this is easily circumvented: instead of 20 minutes of comparing files, Unison can now sync everything in under 5 minutes.

And luckily for those using other operating systems: Unison works well accross operating systems like Linux, Mac, Windows.

File Synchronisation: Dropbox

Dropbox is an online service to keep track of files. It works like an online file storage, but with some minor features from a versioning system (like SVN, RCS, CVS, CodeSafe, Git, Bazaar, ...). The principle is simple: you get two gigabytes of storage on their server; which you can transparantly access from several computers. Their application makes sure that every computer gets all the updates and even on the go you can access your files. Even better: you can undelete files, check changes made to that file and everything is transferred through SSL (read: encrypted). Like Unison and rsync, it makes use of an algorithm like rsync (delta versioning) to keep the bandwidth usage low. Another nice feature is the ability to share folders with others (so you can all work on the same version, without the steep learning curve of regular versioning systems), or give others a weblink to access some of your files.

And like all good things; this is also available on the big three: Linux, Mac and Windows (in that order :P).