3 ms·
Mixing cygwin and WSL in one sentence is generally a bad idea. cygwin even says right on their website that it is not a way to run linux or unix programs on Win
by minxomat 10y ago
Mixing cygwin and WSL in one sentence is generally a bad idea. cygwin even says right on their website that it is not a way to run linux or unix programs on Windows. cygwin and WSL serve the complete opposite purpose.
WSL (and flinux) enable unmodified linux binaries to be run on Windows. WSL handles this at the kernel level, while flinux uses a higher level BCT.
cygwin has another purpose: It requires everything to be built from source, linking against one or more native Windows libraries (most notably cygwin1) that emulate POSIX. In short: cygwin's goal isn't to run unix programs whatsoever, it just provides Windows applications with an interface to use emulated POSIX calls - which is awesome, too.
Since WSL supports binaries at the kernel, performance is much greater for features where cygwin would have to emulate a completely different paradigm (like fork).
So while cygwin is pretty useful for a quick and usually dirty porting of unix programs to Windows, and is even frequently used to emulate(!) a unix environment, WSL can run any linux environment of your choice (the standard being ubuntu) natively.