Wednesday, March 21, 2012

With SUA being deprecated in Windows 8, time to look again at other options...

With SUA, aka "Subsystem for Unix based Applications," being deprecated (i.e. marked for death, likely not being included in a future Windows version, etc), it's a good time to look at the other options available, many that have been around for a while and have a very loyal and thriving community. For example...

The Windows Club - Cygwin : UNIX shell for Windows

"Cygwin is a free application that provides a UNIX like environment on Windows operating system. Cygwin consists of UNIX system call libraries along with many GNU application. Compilers, development tools, development tool kits, GNU emacs, TeX and LaTeX, OpenSSH (client and server), and much more are packed into different modules which can be downloaded and used on your Windows PC.

Cygwin Overview

Cygwin acts as an emulation layer providing substantial POSIX (Portable Operating System Interface) system call functionality, and a collection of tools, which provide a Linux look and feel. With Cygwin installed, users have access to many standard UNIX utilities. Cygwin can help you execute all the UNIX commands on Windows PC which is always a concern for developers, specially the developers working on Linux servers.

Cygwin’s POSIX compatibility does not mesh well with the native Windows API. If you mix POSIX calls with Windows calls in your program it is possible that you will see uneven results. In particular, Cygwin signals will not work with Windows functions which accept filenames may be confused by Cygwin’s support for long filenames.

In this article I will be talking of its installation and listing some of the common features of Cygwin also the native UNIX tasks that can be done on Windows PC using this application.

..."

Cygwin

This is the home of the Cygwin project

What...

...is it?

Cygwin is:

  • a collection of tools which provide a Linux look and feel environment for Windows.
  • a DLL (cygwin1.dll) which acts as a Linux API layer providing substantial Linux API functionality.

...isn't it?

Cygwin is not:

  • a way to run native Linux apps on Windows. You must rebuild your application from source if you want it to run on Windows.
  • a way to magically make native Windows apps aware of UNIX®functionality like signals, ptys, etc. Again, you need to build your apps from sourceif you want to take advantage of Cygwin functionality.

The Cygwin DLL currently works with all recent, commercially released x86 32 bit and 64 bit versions of Windows, with the exception of Windows CE and Windows NT4.

For more information see the FAQ.

..."

And what I find coolest is that Cygwin is OSS... :)

 

Related Past Post XRef:
“Utilities and SDK for Subsystem for UNIX-based Applications” Updated for Windows 7, Windows Server 2008 R2
Subsytem for Unix (SUA) Utilities and SDK For Windows 2008 and Vista SP1
Windows Services for UNIX 3.5 Downloads

7 comments:

  1. I'm a Unix hacker with almost 0 experience on Windows, and I'd never heard of the SUA/SFU before. The thought that there is such a thing totally blows my mind.

    I've been fooling with Windows 8 recently, and actually think it's quite nice. Shame that they are getting rid - I have tried Cygwin but I think it's horrible.

    ReplyDelete
  2. I'm not sure why you'd want to run Cygwin on windows (I have with several versions over the past decade, and it has numerous quirks and challenges due to the windows semantics).

    Since W8 is such a departure from legacy windows (W7 and before) perhaps now is the time to entertain migrating to Linux, BSD, or Macs instead of W8, and stop worrying about how to shoe horn the desired OS semantics (UNIX) into an inherently incompatible system.

    ReplyDelete
  3. I've used SUA in the past for some of the features it has that Windows doesn't... Just one example, long path support, paths greater than 255 characters. SUA has utilities to help me with those and Windows does not...

    It's not something I use everyday, but...

    ReplyDelete
  4. I've used SUA, Cygwin and MinGW, and i could say that depending of what you want to do all are good and none of them, SUA comes with Windows, is easy to install and is more less compatible; Cygwin is the best when you want to "Emulate" a *nix enviroment (and por some *nix utilities/program to Windows, as long as they're Open Source); MinGW is the best when you want to program in Windows using the GNU compilers and are not worried by the slight incompatibility with some standard tools.

    ReplyDelete
  5. I've used cygwin constantly for the last ten years or so, in order to get a devent shell on Windows. In recent years, I've even used it to get a (sonmewhat) usable X server running on Windows.

    ReplyDelete
  6. Check out GOW too (gnu on windows). Many pros and cons as compared to cygwin. You can't install as much, but the basic tools are there. They are natively compiled (no dependency on the cygwin.dll). It's incredibly small and installs in seconds. I use it on all our windows servers at work, for basic shell scripting and command line goodness.

    ReplyDelete
  7. VirtualBox and Ubuntu. 'nuf said

    ReplyDelete

NOTE: Anonymous Commenting has been turned off for a while... The comment spammers are just killing me...

ALL comments are moderated. I will review every comment before it will appear on the blog.

Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...

I reserve, and will use, the right to not approve ANY comment for ANY reason. I will not usually, but if it's off topic, spam (or even close to spam-like), inflammatory, mean, etc, etc, well... then...

Please see my comment policy for more information if you are interested.

Thanks,
Greg

PS. I am proactively moderating comments. Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...