1. Use an open source alternative instead
When someone asks me if they can run “Windows Application X” on Linux, the first thing I tell them is to look for an open source alternative. For most Windows applications, there will be a high-quality open source alternative that can meet their needs. The biggest hurdle for non-Linux people is simply knowing that these alternative exist and how to find them.
The best place I have found to search for these applications is at www.osalt.com. On that site, you can enter the name of the Windows application and it will list the open source alternatives that provide similar functionality. Be sure to check it out.
If you cannot find an open source alternative, and you have not already purchased a Windows application, then you should consider purchasing a commercial product that was designed for Linux.
Here is a story of a civil engineer who wanted to find an open source replacement for AutoCAD. He tried several applications, but he could not find one that met all his requirements. So this engineer decided to use a commercial CAD application that was designed for Linux. He purchased a copy of “BricsCad“, which worked well for him AND it cost a lot less than AutoCAD.
3. Use Wine to run the application in Linux
If you cannot find a suitable open source alternative and you have already purchased a Windows application, then you might be able to run the application in Linux using Wine. Wine is a tool that simulates the Windows environment. Since I had already purchased a copy of Warcraft 3 for Windows, I have configured it to run on Linux using Wine.
However, your success with Wine will vary depending on the application. It is best to search the Wine Application Database to find out if your application will run well under Wine.
4. Run Windows in a Virtual Machine
Before virtualization was widely available, people would dual-boot their machine if they wanted access to both Windows and Linux. Whenever they needed to do something in the other operating system, they would have to close all their applications and reboot into the other operating system.
This time-consuming process can now be replaced by running Windows in a virtual machine on a Linux system. For instance, you can install the open source VirtualBox application which I have written a review about. Once that is installed, you can install Windows and Windows applications inside a virtual machine. Now you can use that virtual machine to have instant access to any of your Windows applications.
The final way that you can run Windows applications is to run the application on a remote Windows system and control it from your local system. This is often called “Terminal Services“, which runs on a Windows server.
This method can be as simple as connecting to a Windows XP Pro workstation using rdesktop. However, you may have many Linux workstations that need to run Windows applications using this method. In that case, there are software options available that provide more scalability and features. The biggest name in this market is Citrix, but there are also others such as Propalms.
Here is a screenshot of Citrix providing Macromedia Dreamweaver, a Windows application, to my Ubuntu Linux desktop.