Wine is a software compatibility layer that allows Windows programs to be run on Linux, BSD, Solaris and Mac OS X.

Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, including Ubuntu. 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.WineHQ

The Wine project keeps a database of which programs run well under Wine, called the Wine Application Database (AppDB), rating an application's stability from Platinum (extremely stable) to Garbage (unusable).

In addition to allowing the user to install and run Windows applications just like you would in Windows, Wine provides these benefits over Windows.

  • Wine makes it possible to access Windows applications remotely.
  • Wine makes it economical to use thin clients: simply install Wine on a Linux server, and 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/HTML5 client.

Wine provides its own versions of various Window system DLLs. Wine also has the ability to load native Windows DLLs. Attempting to call into the Windows kernel directly is unsupported.

Wine cannot use any hardware directly, including USB devices. Wine will only present the devices that are working in the Linux system. It can only use high-level interfaces to access things like keyboards, mice, networking, audio devices, printers and files on a storage device for their primary purpose. You won't be able to use special or proprietary functions of your USB mouse/keyboard/printer/dongle/etc.

Links: