Saturday, March 2, 2013

Run Windows Applications on Linux Using Wine







Wine acronym for "Wine Is Not an Emulator" is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.

Wine began in 1993 under the initial coordination of Bob Amstadt as a way to support running Windows 3.1 programs on Linux. Very early on, leadership over Wine's development passed to Alexandre Julliard, who has managed the project ever since. Over the years, as the Windows API and applications have evolved to take advantage of new hardware and software, Wine has adapted to support new features, all while being ported to other OSes, becoming more stable, and providing a better user-experience.

An ambitious project by definition, work on Wine would steadily continue for 15 years before the program finally reached v1.0, the first stable release, in 2008. Several releases later, Wine is still under active development today, and although there is more work to be done, millions of people are estimated to use Wine to run their Windows software on the OS of their choice


Wine will always be free software. Approximately half of Wine's source code is written by volunteers, with the remaining effort sponsored by commercial interests, especially CodeWeavers, which sells a supported version of Wine.

Wine is heavily reliant on its user community too. Users volunteer their time to share tips and test results on how well their programs work in our Application Database, file bug reports to notify developers of problems in our Bug-Tracker, and answer questions in our forums.

 "Wine Is Not an Emulator" is a reference to the fact that no processor code execution emulation occurs when running a Windows app under Wine. "Emulation" usually refers to the execution of compiled code intended for one processor (say, x86) by interpreting/recompiling software running on a different processor (say, PowerPC). Such emulation is almost always much slower than execution of the same code by the processor for which the code was compiled. In Wine, the Windows app's compiled x86 code runs at full native speed on the computer's x86 processor, just as it does when running under Windows. And Windows API calls and services also are not emulated, but rather substituted with Linux equivalents that are compiled for x86 and run at full, native speed.
In a 2007 survey by desktoplinux.com of 38,500 Linux desktop users, 31.5% of respondents reported using Wine to run Windows applications. This plurality was larger than all x86 virtualization programs combined, as well as larger than the 27.9% who reported not running Windows applications.


 Wine can provide benefits over Windows right now:
Wine makes it possible to take advantage of all the Unix strong points (stability, flexibility, remote administration) while still using the Windows applications you depend on.
Unix has always made it possible to write powerful scripts. Wine makes it possible to call Windows applications from scripts that can also leverage the Unix environment to its full extent.
Wine makes it possible to access Windows applications remotely, even if they are a few thousand miles away.
Wine makes it economical to use thin clients: simply install Wine on a Linux server, and voila, you can access these Windows applications from any X terminal.
Wine can also be used to make existing Windows applications available on the Web by using VNC and its Java client.
Wine is Open Source Software, so you can extend it to suit your needs or have one of many companies do it for you.



1 comment:

  1. I purchase Crossover, available for Linux and Mac, which funds Wine development. Play on Linux is a free script-driven installer using Wine.

    ReplyDelete