Running Windows apps

There are several ways you can use both Windows and Linux® software.

In the translation-layer approach, an application program is being fooled into thinking it's running on a Windows operating system, when it's actually running on Linux. In the virtual machine approach, you have an entire guest operating system, which thinks it's booting and running on its own computer, an approach with more system overhead. If you're using a netbook with a solid-state hard disk replacement, you probably wouldn't want to try to put a whole copy of Windows on there to use with virtual machines.

Logo (3K)

Translation layer

Wine http://www.winehq.org/ Wikipedia
Open-source freeware virtualization; a translation layer that can run many Windows programs on Linux (and on BSD, Solaris, and Mac OS X). You don't need to own a copy of Windows, just the compatible Windows software you want to run. Originally an acronym for Wine Is Not an Emulator. Based on a 2007 survey by desktoplinux.com of 38,500 Linux desktop users, more people use Wine to run Windows apps than all other virtualization systems combined, with VMware second and VirtualBox third. If you don't own a copy of Windows, Wine is your only option.
Wine Application Database (AppDB) http://appdb.winehq.org/
Information on Wine compatibility of specific Windows apps. Some programs work better than others; AppDB rates them as Platinum, Gold, Silver, Bronze, or Garbage. That last one means "don't bother."
CrossOver http://www.codeweavers.com/ Wikipedia
Codeweavers' proprietary supported version of Wine. CrossOver Linux Standard is $40 (11/09). Formerly known as Crossover Office. Codeweavers is also the primary corporate sponsor of freeware Wine.

Logo (2K)

Virtual machines

VMwarehttp://www.vmware.com/ Wikipedia
Proprietary VMware is a full emulator that lets you create virtual machines, run multiple whole operating systems simultaneously, switch between them at will, and even copy and paste. It requires approximately the sum of the RAM and disk space requirements of the set of operating systems you want to run. An example: you can boot Linux, open a VMware virtual machine, then boot Windows inside the VM. VMware Workstation is $190 (11/09). VMware Player is proprietary freeware, and beginning with version 3.0 (10/09) allows users to create virtual machines. If you want to run Windows in VMware, that means you have to own a copy of Windows.
VirtualBox is apparently
going to continue,
under the new name
Oracle VM VirtualBox.
VirtualBox project http://www.virtualbox.org/ Wikipedia
VirtualBox at Sun http://www.sun.com/software/products/virtualbox/
A virtual machines package formerly developed by Sun Microsystems, with a proprietary full version that's free for personal and educational use. There's also an open-source GPL version, but it doesn't support USB. See the Wikipedia article for the impressive list of host and guest OSes. You still have to own a copy of Windows.
Win4Lin http://win4lin.com/ Wikipedia
A specialized VM just for running a copy of Windows on Linux. Proprietary, but Win4Lin 5 Desktop Ubuntu Edition is only $30 (11/09). Business-oriented; no MIDI or games support.
Parallels Desktop http://www.parallels.com/products/desktop/pd4wl/ Wikipedia
$80 (12/09). Some limitations in supported hardware; see the Wikipedia article. Formerly Parallels Workstation.

There are lots more VM packages than are linked here, many of them proprietary or specialized; see Comparison of platform virtual machines on Wikipedia.


Propeller beanie (3K)

Dual boot

Of course, with considerable propeller-head fiddling, you can get both Linux and Windows installed on the same hard disk in a dual-boot configuration. A menu pops up when the computer boots, and you can choose which OS to load, or else it loads your configured default. Linux provides a couple of ways to set this up. Dual boot never appealed to me much.

You could build a PC with the system-boot hard disk in a removable drive-bay rack, either the original tray type, or one of the new tray-less SATA racks with a door. These rack systems put a 3½-inch hard disk in a 5¼-inch drive bay. Then you could set up a second hard disk that boots a different OS. This is essentially a hardware-based form of dual boot, without all the configuration head-scratching. Depending on how much switching you do, there could be issues with the rack connectors.


Two computers

There are little adapters that convert an ordinary Ethernet cable into a crossover cable. Make sure your cables and adapters are the right class: CAT5e or better for 100Mbps and CAT6 for Gigabit.

If you're going to invest in a KVM switch, although they still make them for PS/2, you should probably recycle your PS/2 devices and go with USB. It looks like PS/2 is slowly going away.

Here's a brute-force approach:

  1. Get two mini-tower computers and put 'em both under your table.
  2. Install Linux on one and Windows on the other.¹
  3. Peer-network them, with two 100Mbps Ethernet cards, or maybe Gigabit Ethernet (1000Mbps) plus either a crossover cable or an inexpensive SOHO network switch, probably with four or five ports. Gigabit cards and switch will cost a bit more, maybe twice as much.
  4. Control both computers with one monitor, keyboard, and mouse, using a USB KVM switch. You can get KVM switches that switch your speakers too.

If you use a network switch rather than a crossover cable, and you later want to add another PC or a network printer, it's just a matter of plugging in another cable.

You won't be able to copy and paste between systems with this setup, without some combination of Wine, cross-platform software such as OpenOffice.org, virtual machines, or what's probably a better idea, Virtual Network Computing, an open-source system for remote console logins. For more about VNC see my Linux links page.

They have mini print server adapters you can attach or connect to the back of your printer; then you can connect the printer to the network switch with an Ethernet cable, and it becomes a shared resource. Linux can share a local-port printer with a Windows PC over the network, but if you connect the printer to the network, either PC can use it even if the other one isn't running. Of course, if you're never going to run the Windows box by itself, that may not matter. There are also small network switches with, say, four Ethernet ports, plus four USB ports for devices to be shared by all computers. There are adapters to allow old parallel and serial devices to connect to USB ports.


Comparison

If you own a copy of Microsoft Windows, depending on system configuration, you may be able to experiment with two or more of these technologies.

Options for running Windows and Linux software
System description PRO CON
One PC, Linux installed, no copy of Windows Can use Wine to run compatible Windows apps. No way to run Windows apps incompatible with Wine.
One PC, Linux installed, copy of Windows Can use Wine or virtual machines² to run most Windows apps. Can't boot Windows by itself; expense of copy of Windows; extra RAM and disk space requirments of VM.
One PC, Linux & Windows set up dual boot Can use Wine or virtual machines on Linux, or boot Windows by itself (run all Windows apps). Can only run one OS at a time; expense of copy of Windows; configuration hassle; security exposure if you use Windows online.
Two PCs, Linux & Windows, peer networked, KVM Run both Linux and Windows natively at the same time; can use file and peripheral sharing, Wine, virtual machines, and VNC; maybe avoid Windows product activation hassles.³ Expenses: two PCs; network adapters, cables, Ethernet switch; KVM; copy of Windows. Security exposure if you use Windows online.

HTML checked
site feedback