views:

788

answers:

8

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

+25  A: 
Alex B
Thanks to open source products, I've never needed binary compatibility. If there isn't a pre-built package, just grab source and compile.
Jon Ericson
@Ericson, A pre-built package doesn't need to be compiled. It's already compiled. That's what "pre-build" means. =]
strager
@strager: Huh? I mean if someone else hasn't built a package for Cygwin (and that's somewhat rare), I can normally get what I want by building the source myself. I don't care about binary compatibility at all. Your comment does not compute.
Jon Ericson
You could also mention SUA, being included in the larger Vista, 2k8 and Win7 editions.
Joey
@Ericson, Ah, sorry. I am tired. I misread your comment completely. My mistake... Disregard my comment. ;P
strager
-1, Sorry but even if it does resolve the porobleme of yoitsfrancis. It is not a accurate answer for question (what is the opposite of wine?). Although it is a good workaround.
Phong
@Phong, so... does this mean you have a better solution? I did state that it's not the exact equivalent.
Alex B
Just like other said: there is virtualbox, vmware, coLinux... It is not that I dont like your answer, but I think that exact answer for the question should be in higher rank than a workaround. (For the people who are looking for the same answer)
Phong
I delete the -1.
Phong
+13  A: 

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

Peter Richards
Why the downvote? Cygwin is not always the right answer for all situations. A virtual machine can be a good alternative.
Kristo
This is cheating though. You're not really running the applications "on Windows" anymore.
Outlaw Programmer
Oh, I readily admit it's not the same, hence I said "Not quite the same," :-D However, depending on what the end goal is, it may be perfectly acceptable. Often, people don't know what's possible, so don't know exactly what to ask. So, I offer an alternative :)
Peter Richards
At the end of the day, having tried many different ways of using unix tools on a windows system, I have just simply found that the best answer is a virtualization answer.
TokenMacGuy
+3  A: 

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.

TokenMacGuy
Xming is freely available, albeit slow. But works well for basic things.
Joey
@Johannes Rossel: This should perhaps be an answer to the question, instead of a comment?
TokenMacGuy
+5  A: 

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."

ctrl_freak
This doesn't provide an answer to the original question. It's more like a combative response to @Checkers' answer.
strager
In other words, Cygwin is more like Winelib than it is like Wine.
Rob Kennedy
I dont agree with you Rob, In wine you dont need to recompile windows application.
Phong
+3  A: 

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.

Kristo
I like it, but beware of path name mangling, it can mess up makefiles designed for Cygwin.
starblue
+11  A: 

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.

Blorgbeard
+1  A: 

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.

bedwyr
A: 

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.

ephemient