Desktop Virtualization Tools for Ubuntu
A few days ago, we published an overview of virtualization from the desktop user’s perspective. As a follow-up, we’ll use this post to discuss some of the most popular virtualization tools for Ubuntu workstations and laptops.
Before we get started, a warning: don’t take the list below as comprehensive. Virtualization has been around for a long time and there are myriad virtualization tools in existence, many of which will run on Ubuntu, and some of which may fit particular niches better than the applications mentioned here.
That said, the tools outlined below represent the most popular and most intuitive of those available for Ubuntu. For users new to virtualization on the desktop, they’re certainly a good place to start.
First up is VMware, one of the first commercial virtualization packages to be targeted at desktop users. As such, VMware has been around for a long time and offers user-friendly tools for virtualizing Windows and Linux guests within an Ubuntu host environment.
I used to be a fervent VMware user, but my enthusiasm for VMware’s suite of tools has waned in recent years as less expensive and less proprietary alternatives have emerged that are just as good. It’s also annoying that most of VMware’s products are available only from its website, not from the Ubuntu repositories, and that VMware requires users to register before downloading virtually any of its applications, even those that are free.
Nonetheless, VMware’s offerings, which range in price from free to super-expensive, remain among the most intuitive virtualization products for Ubuntu, and are worth checking out if you don’t mind using non-Free software (although certain parts of VMware’s code are now open-source).
At this point, VirtualBox is first the tool I’d recommend to most desktop users looking for a free and easy way to build virtual machines. It’s at least as intuitive as VMware and offers a number of innovative features, such as support for 3D acceleration in guest operating systems (but as I explained a few days ago, don’t count on this to work properly all the time).
Here’s a look at VirtualBox in action:
Most of the code for VirtualBox, which is available from the Ubuntu Software Center, remains open-source, although a closed-source version offering additional features is available from the product’s website. The licensing future of the product remains a bit uncertain, however, as ownership of VirtualBox has passed from its original developer, Innotek, then to Sun, and now to Oracle, and I wouldn’t be shocked to see more restrictive licensing terms imposed by the latter at some point in the future.
All the same, as of today VirtualBox remains completely free for personal use, can be installed in one click from Ubuntu’s repositories and is quite intuitive. As such, it’s a great place to start if you’re new to virtualization.
KVM is Linux’s “native” virtualization tool. It runs as a kernel module and can be easily installed from the Software Center. It’s mostly developed with servers in mind, but as I wrote recently, it can have practical applications on desktop systems as well when combined with user-friendly management tools like Red Hat’s Virt-Manager. I wouldn’t recommend KVM to my grandmother yet, but more technically minded users interested in exploring 100% open-source, cutting-edge virtualization technology might give it a try.
As you can see from the screenshot below, KVM is easy enough to use when combined with Virt-Manager for GUI-based control:
The major drawback of KVM is that it only works well on processors with virtualization extensions, which it uses to make guest machines run more efficiently. While most personal computers manufactured in the last couple years support KVM, older and lower-end machines usually don’t. My netbook certainly doesn’t, for example.
On non-supported hardware, KVM will still work by automatically falling back to QEMU, the older virtualization hypervisor on which it’s based. It won’t be nearly as fast, though, and if your processor lacks KVM support, you’re probably better off sticking with VirtualBox or VMware.
Last but not least, we can’t wrap up this post without mentioning Xen, a virtualization solution similar in many respects to KVM: it’s currently fully open-source but remains less intuitive than VMware and VirtualBox. Xen is much more at home in the server room, and it doesn’t support all versions of Windows as guest operating systems. But I know people–geeks, mostly–who have used it on desktops and laptops, so in certain cases it might be appropriate for desktop virtualization. Personally, I’d try KVM first, though.
All in all, it’s clear that the market for virtualization solutions targeted at desktop Linxu users is rich and flourishing. While the traditional staples, VMware and VirtualBox, remain the most intuitive options, I wouldn’t be surprised to see Ubuntu endorse an “official” desktop virtualization infrastructure based on KVM or Xen a year or two in the future.