I said it before, and I’ll say it again – Linux is not for everyone. Convincing people to switch their primary OS is a little bit like trying to convince someone to change their religion, or political views. It’s possible, but not easy. You can’t really “convince” someone that your OS is superior in a discussion. The only way you can really accomplish something like that is by subtle influence – by showing, teaching, and leading by example. I never try to sell Linux to others – I simply use it and talk about the good and bad things that entails with a passion. I found that this approach is actually makes the right kind of people interested in the platform.
To that end however I know many people who like Linux, own dual boot systems, use it occasionally and are passionate about it but never make the plunge of making it their primary OS because they need application X or Y. Note that I didn’t say switch. Switching is the last thing I would want someone to do. I personally believe in being platform agnostic. Your personal computing ecosystem should be a healthy mix of different operating systems and you should be able to jump from Windows to Linux to MacOS without really skipping a beat. Each platform offers different things, and there is no reason to confine yourself to a single one. OS is not a religion. I naturally don’t mean that you ought to go and spend money on new systems so that you can experiment. What I mean, is that instead of throwing out or giving away your old computer when you upgrade to a new one, set it aside and use it to install that one OS you always wanted to try.
But I got side tracked. Let’s get back to the poor Linux enthusiasts who can’t live without that single Windows-only application they actually use every day. I often hear them saying things like “I would banish Windows from my hard drive long time ago if only there was a good Linux alternative for application X” or “if application X would actually run under Wine reliably”. Excuses, excuses, excuses.
I did some testing, and I found out that there is a reliable solution for most of these people. I will let you guess where I’m going with this. Let’s see if you were paying attention to my posts for the last few weeks. The answer here is Virtual Fucking Machines. And I use the f-word here for added emphasis and not to signify teledildonics or something silly like that. Virtualization will let you run most of the crucial Windows-only applications under Linux with no glitches and no problems. For example, for the last few days I have been hacking away in Visual Studio on a .NET application that is supposed to work with MS Outlook using Ubuntu as my primary OS. How did I do that? I was running Windows XP in a VirtualBox. So I was using a real Windows environment, and real Windows application without the need to actually boot into that OS. My machine has 2.4 GHz Intel Centrino Duo CPU and 2 GB of RAM which is actually pretty decent, but not entirely impressive by today standards, but I was able to comfortably run a Virtual Windows XP session. Note that I was running full KDE desktop with several applications open on the Linux side (namely Kontact, Firefox, Gvim and Komodo Edit). The performance was just fine, and the build times were actually pretty good. In fact, I don’t think I would get much more speed running windows natively because I would likely be bogged down with some bloated security suite.
In fact, I must say that Office 2003 inside the emulated session was actually much faster and responsive than Open Office running natively outside the VM. So I would say that roughly 80 to 90% of these killer windows apps that people cannot live without could be comfortably run this way. I haven’t really tested Photoshop (one of the most often mentioned apps in this category) but I don’t see why wouldn’t it run semi-decently in a VM. You may need to allocate more memory to the VM if you usually work with big images, but other than that I believe you should be fine.
There is of course a class of applications which won’t do well in a VM. These are performance intensive apps that usually like to talk directly to your video card such as games, 3d rendering apps and etc. Gaming is one of these things that will remain a Windows domain for a long time. If you are a gamer and you want to play the newest titles on the market, your gaming box needs to run Windows. There is just no way around it – performance is paramount, and it will always be worse under a VM. Not to mention the fact that you won’t have low level access to your system’s 3D acceleration hardware while running in a virtual sandbox. Same goes for rendering or doing 3d animation that is windows, or architecture specific. Some of the stuff you just can’t fake.
But apps which do not need low level hardware access, and are not total resource hogs that take over your whole machine in full screen mode should be happy to run in a virtual machine. So no more excuses people. Next time you have a chance, boot into your Linux partition, download VirtualBox or VMWare then install Windows inside it, and set up your work environment there. Then next time you need to use that killer windopws-only app of yours just fire up your VM and work from there. When you are done, shut it down and enjoy your life in a pristine Linux environment – just like you always wanted.
If the performance sucks, or you think the whole VM thing is a hell of an inconvenience then you can start booting back into your windows partition. I won’t blame you. This is just a friendly suggestion for those of you who would love to take the plunge into Linux – to live it and breathe it every day – but seem to be chained down to Windows by this one or two silly apps. This is something that could let you do your first step towards becoming a better Linux user, and let you learn the intimate inns and outs of the new OS while still having the old one at your fingertips when you need it.
Just don’t try virtualizing Vista yet – that’s a whole mess of issues in itself. XP will still be a perfectly serviceable OS for the next few more years. And by the time they end-of-life it and it is no longer safe to keep it around hopefully hardware and virtualization technology will catch up to the point where running Vista (without Areo) in a VM will be as pleasant and worry free as running XP is now.
[tags]linux, ubuntu, virtualization, vitrual machines, vm, windows, xp, visual studio[/tags]