Following up on my review of VMware
Fusion, I wanted to present a few reasons you might want to run
virtual Linux on your Mac.
Mirrored Development Environments
The most compelling reason to run virtual Linux is to create a
development environment that is identical to your production platform.
Linux is found on the majority of web hosts, from the least expensive
to the most pricey. As a web developer, I appreciate being able to
mirror the environment where my application will ultimately run.
While OS X makes a great development environment, virtual machines
allow you to create multiple customized environments. For example, if
you are updating an application built with Ruby on Rails 1.2, you can
set up a virtual machine (VM) with that version and set up another with
Rails 2.0 for a new project. The same is true for the web server or any
part of your development stack. It is a lot easier to manage multiple
VMs than to constantly tweak OS X for each project.
Having multiple development environments also lets me see the impact
on my applications if I upgrade a development component. I can set up a
test system, perform the upgrade, test my application, then delete the
environment with no risk. That alone makes VMs worthwhile.
Surly X11 Programs
OS X is packed with juicy Unix morsels, and you can easily add more
with MacPorts.
Still, the depth and breadth of free, open source programs does not
match what is available in the Linux universe.
Up until OS X 10.5.2, Leopard was unable to run the popular Gimp image editor using the stock Apple
X11 system. There were some issues that prevented Gimp from running
that are now resolved. However, once in a while I run into an X11
program that either won't run natively on the Mac or will only do so
after jumping through many hoops. For instance, the Dia diagram editor, similar to the
commercial program Visio, is a
very useful tool for creating flow charts, but it has problems
compiling on OS X.
Running a Linux VM lets me avoid compatibility issues while rounding
out the strong software bundle that comes with a Mac.
Exploring Different GUI Concepts
An occasional hobby of mine is trying out different GUI systems. In
Linux, the window manager is uncoupled from the low level graphics
system, leading to an exciting and sometimes confusing array of
interface choices.
For example, the Ion
window manager uses an interesting stacked frame metaphor. Ratpoison lets you run graphical
apps while forsaking the mouse. None of these experimental interfaces
would make the best GUI to live and work in daily, but they do let me
explore new ideas.
Keith Winston is a recent Mac convert after five years of Linux on the desktop. He also writes for Linux.com and created CommandLineMac to focus on the Unix-y power of the Mac. If you find Keith's articles helpful, please consider making a donation to his tip jar.