Using QEMU allows you to run a virtual machine on a UNIX system. Unlike other emulators, QEMU is a generic emulator – which means that it is portable, and that it emulates more than one system. There are versions for Windows, MacOS X, Linux, and OpenSolaris.
The QEMU emulator allows you to emulate an i386, an AMD-64, PowerPC, SPARC, and others. Not all are usable, but the i386, AMD-64, and PowerPC are usable.
Running QEMU on a Pentium III results in a slow emulated machine, but it is usable. Running Windows 2000 in 128M or 256M of memory is not too bad if you are patient. Running it on a modern machine is much more useful and much easier on the patience.
QEMU has some nifty features. The monitor, for instance, can be attached to a virtual console, to a pseudoterminal, or to a serial port. Likewise, the emulated serial port can be attached to a pseudoterminal, to a host serial port, or other locations – and more than one serial port is possible.
One very interesting feature is that the emulated machine can use a VNC session for its display, allowing you to access the host machine from anywhere on the network that you have a VNC viewer. This also suggests that you could have multiple emulated machines running, with all of them available over the network to VNC clients.
Unfortunately, there are no reliable control panels, and only two session managers for standard installations (or perhaps only one if you’ve not installed QT 4 yet). The only innate method of controlling QEMU emulators is through the text console. There is Qtemu (which, on my FreeBSD system, required all of QT4 to be installed), and there is qemu-launcher (which only requires the basics that are on any system). Unfortunately, QTEMU does not provide a way to open an existing virtual machine, nor does it offer a way to utilize machines and info created by qemu-launcher.
The only control panel I could find was the one used by qemu-launcher, qemuctl – which crashes.