Windows on Linux

Under Linux, it is possible to run a number of Windows applications without having Windows installed at all. This is done with Wine. I'm not talking about the fermented beverage some of us are quite fond of, but a package that runs on Linux. Allow me to paraphrase from the Wine Web site . Wine Is Not an Emulator. Wine is a compatibility layer, a set of APIs that enable some Windows applications to operate on a Linux system running the X window system (the Linux graphical environment).

Wine will not run every Windows application, but the number of applications it is capable of running is increasing all the time. Some commercial vendors have ported certain Windows applications to Linux by making some of the code run in Wine. This has sped up the normal production cycle and made it possible for them to get their programs to Linux users faster. If you really need to run a Windows application under Linux and you would like to go this route, the commercial Wines tend to be a better approach.

Many Linux distributions include a version of Wine on the CDs, and some let you select Windows compatibility applications as part of the installation procedure. Keep in mind that the newer your Wine, the better. For the latest and greatest on Wine development, visit the Wine web site ( http://www.winehq.org). A great deal of Wine development is being done at CodeWeavers (http://www.codeweavers.com). Its version provides an installation wizard to guide you through the installation and configuration process for Wine. It makes the whole process extremely simple.


The Wine project has done some impressive work, but it will not run all Windows applications. Sometimes you just need to run the whole shebang, and that means a full copy of Windows. Because you don't want to boot back and forth between Linux and Windows, it would be great if you could run Windows entirely on your Linux machine. This is the philosophy behind VMware—and it doesn't stop there.

Mware enables you to create virtual machines on your computer. Complete with boot-up BIOS and memory checks, VMware virtualizes your entire hardware configuration, making the PC inside the PC as real as the one you are running. Furthermore, VMware enables you to run (not emulate) Windows 95, 98, 2000, NT, FreeBSD, or other Linuxes. For the developer or support person who needs to work (or write code) on different platforms, this is an incredible package. Yes, you can even run another Linux on your Linux, making it possible to test (or play with) different releases without reinstalling on a separate machine. VMware knows enough to share your printers, network cards, and so on. You can even network between the "real" machine and the virtual machine as though they were two separate systems.

VMware comes in a variety of packages and price points. Visit the VMware Web site (http://www.vmware.com) for details.


Another alternative still requires a licensed copy of Windows. Win4Lin, formerly Netraverse ( http://www.win4lin.com), sells a package called (you guessed it) Win4Lin. This is a package designed to let you run Windows on your system but, unlike VMware, only Windows. The classic Win4Lin product only supported Windows 95, 98, and ME, but with the introduction of Win4Lin Pro, Windows 2000 and XP are also supported. It is, however, somewhat less expensive than VMware. Once again, remember that because you aren't emulating Windows but actually running a copy, you still need that licensed copy of Windows.

Win4Lin's magic is performed at the kernel level. Consequently, this requires that you download a patched kernel equivalent to what you are currently running or that you patch and rebuild your own. If you have compiled custom drivers into your kernel, you are going to have to go through the process again to get Win4Lin going. This whole process is no longer necessary if you choose to purchase Win4Lin Pro.