Translation(s): Italiano

Running Windows Programs


First, it's worth noting that for the majority of Windows applications, there is a Debian equivalent (if not several equivalents to choose from).

So, it's definitely worth checking out WindowsEquivalent to find existing applications that will suit your needs.

Alternative solutions

In some cases, you may not be able to find an acceptable replacement. There are three ways you can have your Windows/DOS application running under Debian.

  1. Wine, which runs Windows programs under Linux, by converting APIs.

  2. DOSEMU, a DOS Emulator, for very old programs.

  3. Virtualization tool, like Qemu, VirtualBox (or a proprietary tool like VMware).


In the case that your application was written for Windows specifically and not DOS, you could try wine. The acronym is actually (Wine Is Not an Emulator) but it is common to refer to it as an emulator anyway.

What Wine essentially does is to fake your program into believing that you are running Windows when you are really running something else. It runs every instruction in your program binary with your CPU but when the program calls for a resource that cannot be provided directly by your system, Wine intercepts the call and performs the necessary calls to stuff in Debian to accomplish the same task.

Quite often, Wine will actually set up a directory in your home directory which will be equivalent to your C drive when running your windows program. For example, your c:\program files directory will be created in your /home/myuser/.wine/.../program files directory and your program will know this directory as c:\program files. So, if you wonder where that program goes after you install it from the CD, it goes in there. :)

To invoke a program in Wine, it is usually as simple as running "wine program.exe" In most cases you can invoke it using Windows naming conventions like this "wine a:\setup.exe".

Unfortunately, not every program will run under Wine, which leads into the third alternative.

See the Wine page for more information.


If your application is one of those really old DOS applications, there is a really good chance that the DOS Emulator will run this program. Just install the dosemu package.

There are several restrictions implicit in the standard dosemu installation, which emphasizes security and stability. Applications which require direct keyboard access, direct video control, or access to DPMI memory will not work without modification to /etc/dosemu/conf, and probably setting dosemu.bin setuid, at some risk of system instability.

See the DosEmu page for more information.


The third alternative is to use a virtualization tool. They actually simulate a computer running within your computer. Your desired program literally runs within Windows running in a virtual computer running inside Debian. This way, Windows is there to handle all of the requests by your program and there is a much higher chance of the program running but the programs will run slower than under Windows directly (This isn't a concern nowadays).

After Windows has been fully installed onto the virtual computer, you then install your favorite application and away you go. :)

See the SystemVirtualization page for more information.