Question

What if I want to run native Unix-like applications on Windows? What's the best application out there?

Was it helpful?

Solution

Cygwin is closest to what you are looking for, though not exactly like Wine.

Cygwin is a Linux-like environment for Windows. It consists of two parts:

  1. A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality.
  2. A collection of tools which provide Linux look and feel.

It is not binary-compatible with Linux applications, you still need to rebuild them from source to run under Cygwin. Once rebuilt, however, they should work exactly like on Linux.

OTHER TIPS

Not quite the same, but you could also run a full linux installation inside a VM such as Virtualbox: http://virtualbox.org/

Take a look at andLinux (based on coLinux).

From the site:

andLinux is a complete Ubuntu Linux system running seamlessly in Windows 2000 based systems (2000, XP, 2003, Vista; 32-bit versions only).

...

Although this technology is a bit like running Linux in a virtual machine, coLinux differs itself by being more of a merger of Windows and the Linux kernel and not an emulated PC, making it more efficient. Xming is used as X server and PulseAudio as sound server.

andLinux is not just for development and runs almost all Linux applications without modification.

Not Cygwin.

What Isn't Cygwin?

  • Cygwin is not a way to run native linux apps on Windows. You have to rebuild your application from source if you want it to run on Windows.

  • Cygwin is not a way to magically make native Windows apps aware of UNIX ® functionality, like signals, ptys, etc. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.

Cygwin will give a Linux-like shell but can not directly run linux applications in Windows. Cygwin "acts as a Linux API emulation layer providing substantial Linux API functionality."

At one point in the distant past, there was LINE Is Not an Emulator, which aimed to be exactly the inverse of Wine: provide binary compatibility for Linux executables running under Windows.

It kinda worked, at least as a proof of concept, but there isn't a big need for it.

If you're interested in porting those *nix applications to a Win32 environment, you might take a look at the MinGW project. I've mainly used it for GCC on windows, but they also provide an interesting environment called MSYS:

A Minimal SYStem providing a POSIX compatible Bourne shell environment, with a small collection of UNIX command line tools. Primarily developed as a means to execute the configure scripts and Makefiles used to build Open Source software, but also useful as a general purpose command line interface to replace Windows cmd.exe.

Microsoft, for a while, offered SFU which sort of works for some things. Cygwin works much better.

If you're hoping for ABI Compatability, as wine offers unix systems for windows binaries, things are quite bleak. CoLinux also sort of works, but generally won't help you at all with any kind of graphical application, unless you configure a windows X11 server as well.

I've used andLinux which is built on coLinux. The organization has compiled an Ubuntu installation (Gutsy, I think, but I upgraded to Intrepid pretty easily).

One warning: development on andLinux is pretty slow -- the last beta has been out for almost a year.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top