VirtualBox: Bits and Bytes Masquerading as Machines
Let's turn this baby on and see what happens. To turn on your new virtual machine, highlight it in the left pane of the VirtualBox interface, and then click the Start button in the toolbar. Note the Auto capture keyboard notification dialog. Essentially, it is notifying you that once you click anywhere inside your running virtual machine, all your keyboard keystrokes from that point on will be sent to the virtual machine rather than to the host machine. This may not seem like a big deal, but trying to shut down your machine or even resize a window when you have no keyboard or mouse control of the host machine is really quite difficult. In order to free your mouse and keyboard from the confines of your virtual machine, you have to press the right-Ctrl key. You can specify a different Auto capture escape key by going to File→Preferences→General→Input, if the default right-Ctrl key doesn't suit you.
Your mileage may vary, but the next thing I encountered was another dialog box full of doom and gloom. This one informed me that my logged-in user (jdw) wasn't part of the vboxusers group and therefore could not access the /dev/vboxdrv file. It would seem intuitive to me to add the user that is installing VirtualBox to the vboxusers group to avoid this error message, but that isn't part of the installation process. To do it manually on my Ubuntu box, I simply edit my /etc/group file to add jdw to the vboxusers line and relog in (Figure 10).
My new group membership is all I need to launch my virtual machine successfully, and I am now running dyne:bolic in VirtualBox on my Ubuntu Gutsy machine (Figure 11). I have good reasons for wanting to run dyne:bolic in a virtual machine—primarily because dyne:bolic doesn't like my actual video card, an ATI x1400, but it has no problems with the innotek virtual VGA driver. I also get the added benefit of not having to boot my system in dyne:bolic, so I retain access to my host machine while I'm using it.
VirtualBox provides some applications called Guest Additions. If you've ever used VMware, you've likely stumbled across VMware Tools. Guest Additions are much the same thing in that they are installed into the guest machine and provide some functionality, such as arbitrary window size and better mouse control, to the guest session. You certainly can run a VirtualBox virtual machine without Guest Additions installed, but the experience is better with them.
Guest Additions are installed into the virtual machine itself rather than onto the host machine. Therefore, for every virtual machine you have, you'll need to install the Guest Additions through the machine's handy Install Guest Additions menu option in the Devices menu.
Earlier, I mentioned that one of the great benefits of using virtual machines over physical machines is that a complete bare-metal backup is as easy as file copy. There are other benefits in this area as well though, such as snapshotting.
When a virtual machine is running, select Machine→Snapshot to take a quick restore point for the machine. This is invaluable when you're installing new software, reconfiguring the virtual machine or doing something else dangerous. If you muck it up, you simply can shut down the virtual machine, select the Snapshots tab and restore the machine from any of the snapshots you've taken. To restore the machine to a previous snapshot, right-click the desired snapshot and select Revert to Current Snapshot (Figure 12).
VirtualBox comes with a surprisingly complete help manual. Pressing F1 on any screen brings up the VirtualBox manual, although it isn't context-sensitive. The help manual is well laid out and easy to understand. There also are forums, IRC and a mailing list on the VirtualBox site as well as a public bug tracker.
Additionally, there's a complete set of technical documents available on the VirtualBox Web site that is aimed at developers and those who want to contribute to the OSE version of the product.
- My Childhood in a Cigar Box
- Papa's Got a Brand New NAS
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- Tech Tip: Really Simple HTTP Server with Python
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- Panther MPC, Inc.'s Panther Alpha
- NethServer: Linux without All That Linux Stuff
- Simplenote, Simply Awesome!
- Debugging Democracy