Slashdot Mirror


Cygwin 1.7 Released

jensend writes "The 1.7 branch of Cygwin, the Unix-like environment for Windows, has reached stable status after about 3 1/2 years of effort. Among many other changes, this release drops support for Windows 9x. Since the NT API and NT-based versions of Windows are more capable and somewhat less of a mismatch with POSIX (for instance, they include a security model), this has allowed for code path simplifications, better performance (particularly noticeable with pipe I/O), better security, and better POSIX compatibility."

24 of 203 comments (clear)

  1. Re:Does this do something SFU doesn't? by LoRdTAW · · Score: 2, Informative

    A bash shell and a great collection of Unix command line tools. Its how I backup my Vista box to my Linux server via ssh.

  2. search! by spongman · · Score: 5, Informative

    love the search feature in setup.exe !! long overdue, but welcome nonetheless.

  3. Re:Does this do something SFU doesn't? by Darkness404 · · Score: 4, Informative

    Yeah, but Services For Unix seem to be coming to an end. The download says it won't work on Vista or 7, and the Wikipedia page says it will stop being downloadable at the end of 2009.

    --
    Taxation is legalized theft, no more, no less.
  4. Yes. by amake · · Score: 5, Informative

    Yes. From the announcement:

    - Default character set is now UTF-8, but other character sets are
        supported via an improved internationalization support. See
        http://cygwin.com/cygwin-ug-net/setup-locale.html

  5. Re:Does this do something SFU doesn't? by Genocaust · · Score: 3, Informative

    Why not something less convoluted like andLinux? I used Cygwin when I first started tinkering with Linux when I was young, but there are so many better alternatives at this point I don't understand why it's still around.

    --
    It could be that the only purpose of your life is to serve as a warning to others.
  6. Re:makes windows marginally bearable by Zephiris · · Score: 1, Informative

    Microsoft has had Interix, then Services For UNIX, and now Subsystem for Unix Applications originally since around 2000 but both SFU/SUA and Cygwin are pretty much just different shells on top of the limited cmd.exe window, unless you happen to use rxvt (which is usually not worth the trouble).

    SFU 3.5 and now SUA for Server 2003 R2 and newer (including Vista and Windows 7) were free of charge, but it was comparable in most versions pay-or-not to MKS Toolkit and UWIN, rather than Cygwin and MingW (which are definitely more open-sourcey).

    --

    "A Goddess rarely smiles for she is forced by others to be an island unto herself." - Zephiris
  7. Re:Does this do something SFU doesn't? by yuhong · · Score: 3, Informative

    Which is correct. Windows Server 2003 R2, Vista Enterprise and higher editions have the successor Subsystem for UNIX-based Applications (SUA) available as optional install that replaces SFU.

  8. Re:Does this do something SFU doesn't? by yuhong · · Score: 2, Informative

    But if you have that edition SUA should be available, which should be much better than SFU and should be used instead

  9. Re:Does this do something SFU doesn't? by bcat24 · · Score: 4, Informative

    andLinux only supports 32-bit versions of Windows, for one thing. I'd like to give it a spin on my 64-bit Windows 7 desktop, but I can't. Cygwin may not be ideal, but it has the advantage of actually being usable by me. :)

  10. Re:One question remains... by DMUTPeregrine · · Score: 5, Informative

    Yes, Cygwin does run under WINE. And WINE runs under Cygwin. It can be an amusing stress test.

    --
    Not a sentence!
  11. Re:Does this do something SFU doesn't? by shutdown+-p+now · · Score: 2, Informative

    SFU (now called SUA, "Subsystem for Unix Applications") is rather good, but the problem with it is that it is only present in Enterprise and Ultimate editions of Vista/7, or in 2008. Since most people use Home or Professional, they can't get it. This is a problem when porting applications, since now your port requires Enterprise/Ultimate.

    With Cygwin, a ported application not only runs on any version of Windows, but you don't require the user to install the runtime before running it - you just package Cygwin DLLs with your binaries, and that's it.

    SUA is supposed to be used for porting "legacy" in-house Unix applications. It does also make for a decent Unix shell and basic tool set for Windows if you can afford it, but aside from that, it's in a rather different niche from Cygwin. They are complimentary.

  12. Re:Does this do something SFU doesn't? by shutdown+-p+now · · Score: 2, Informative

    SUA is SFU, just a more recent version of it (that specifically supports Vista+).

  13. Re:makes windows marginally bearable by Anonymous Coward · · Score: 1, Informative

    Native ports don't quite have correct semantics. In addition, Cygwin provides better packaging and far more complete coverage.

  14. Re:makes windows marginally bearable by lena_10326 · · Score: 5, Informative

    ...but both SFU/SUA and Cygwin are pretty much just different shells on top of the limited cmd.exe window, unless you happen to use rxvt (which is usually not worth the trouble).

    What are you talking about? First, only lobotomized moron monkeys would use CMD.EXE. Second, put this

    C:\cygwin\bin\rxvt.exe -e /bin/bash --login

    into a windows short cut. Set "Start in" to c:\cygwin\bin and it works just fine. Now, how much work was that? Have you got 2 minutes to spare out of your day? Quit your bitchin. Wuss.

    What I use:

    C:\cygwin\bin\rxvt.exe -geometry 132x60+0+0 -fn "FixedSys" -e /bin/bash --login

    because the default font is ugly.

    --
    Camping on quad since 1996.
  15. Re:I was never really impressed by nimble · · Score: 2, Informative

    Good post. Regarding the last point about the default console, Cygwin ships with a number of replacement terminals: (u)rxvt, xterm, mintty. Mintty in particular provides a native Windows interface with Unicode support and does not require an X server. More at http://mintty.googlecode.com/

  16. Re:Does this do something SFU doesn't? by cbhacking · · Score: 3, Informative

    They are complimentary.

    Just don't try running them side-by-side without a lot of tweaking. Both use a handful of system environment variables, with a number of collisions (PATH being an obvious one). Cygwin binaries are just wimple Win32 programs (exe/dll extension and all) while SUA binaries are not (they are true POSIX applications, although they use the PE binary format), but since SUA shells will also execute Win32 applications, typing something as simple as "ls" can be ambiguous - is it SUA's /bin/ls or Cygwin's /bin/ls.exe?

    I had the bloody hardest time getting SUA working on a friend's machine once, until I realized he used Cygwin already. At that point I told him to just stick with one or the other per system - there's not enough advantage, and too much hassle, to having them installed on the same box.

    --
    There's no place I could be, since I've found Serenity...
  17. Re:Does this do something SFU doesn't? by cbhacking · · Score: 4, Informative

    You missed the part of the Wikipedia page that pointed out the Subsystem for UNIX Applications (SUA) which is the same feature on Vista, Win7, Server 2003 - 2008 R2, and presumeably future releases. There's no sign of it going away soon.

    I use SUA (which, aside from install mechanic, is functionally identical to SFU plus some new features) all the time on Win7. My main CLI shell is bash (pinned to my taskbar), I use ssh more often than remote desktop, I use subversion in Interix rather than something like TortoiseSVN, and I once completed a substantial programming project (involving a multi-threaded, multi-process, networked program for embedded Linux) by developing (and testing) on Interix before (testing and) deploying on Linux. It was substantially easier than rebooting, virtualizing, or working remotely on my school's Linux servers.

    --
    There's no place I could be, since I've found Serenity...
  18. WINE / Cygwin by DrYak · · Score: 4, Informative

    since when does WINE run under cygwin?

    It works both ways, although buggy and not fully functional.
    And as reported by parent poster, this two redundant monsters are used as test cases to assist developers in perfecting both software stacks (by investigating said bugs and lack of functionality)

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  19. Re:Does this do something SFU doesn't? by cheesybagel · · Score: 2, Informative
    Last time I tried installing SFU it failed so badly I could not even do an 'ls'.

    Besides, if it does not have X11 and all the trimmings of a Linux distro it is not that much use. You need both a working SFU and something like darwinports or fink. Which does not exist AFAIK.

    Oh, also, the Cygwin GCC can compile native Win32 programs if you choose it so, which will run on machines without Cygwin installed. That makes it useful all in itself. Before Visual C++ Express was available GCC was the only decent free compiler you could get. It still matters if you have a complex cross-platform application you want to compile using GCCisms (e.g. AT&T assembly notation, C99).

  20. Re:Does this do something SFU doesn't? by nimble · · Score: 2, Informative
    Things that Cygwin does better than SFU (as in what's on offer from MS. Dunno about community projects on top of that.)

    - The latest version is available for all Windows (>=NT) variants, not just Enterprise and Ultimate.
    - It's more compatible with GNU/Linux extensions (since SFU is not aimed at that).
    - It's open source with open development, short release cycle, and responsive mailing list.
    - Package system. (It's no apt-get, but it does its job, including dependency resolution and updates.)
    - Bigger, more recent choice of packages. For example gcc, is 4.3 vs. SFU's 3.3.
    - Bash and zsh.
    - A usable default shell configuration. The arrow keys don't even work correctly in SFU's default ksh setup. (It's as if MS deliberately try to scare people off Unix.)
    - A choice of terminals to replace the awful Windows console.

    Also, what do you base your claim of SFU's better Windows integration on? Since Cygwin's based on the Windows API rather than being confined to its own subsystem, it can offer features like /dev/clipboard or /proc/registry, and it allows programs to mix POSIX and Win32 calls.

    Finally, Cygwin 1.7 does also support case sensitivity on NFS and on NTFS volumes that have that feature enabled.

  21. Re:makes windows marginally bearable by NearlyHeadless · · Score: 2, Informative

    I used to use rxvt, but I couldn't get Unicode to work in it, so I switched to puttycyg.

  22. Re:Did they simplify fork()? by nimble · · Score: 2, Informative
    I don't really know the details, but the possibility of using the underlying NT calls to implement fork has been discussed a lot on the Cygwin mailing list, and the conclusion was that it won't work for Win32-level processes. Dropping down into a separate subsystem like SFU would require a major redesign and would break binary compatibility for everything as well as source compatibility for Cygwin programs that use Win32 themselves, e.g. rxvt or mintty.

    Good points about avoiding fork where possible. spawn() is another way to do that.

  23. Re:I wonder if Cygwin really has much of a future by nimble · · Score: 2, Informative

    Cygwin 1.7 does support case-sensitive filenames. See the User's Guide on how to enable it: http://www.cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-casesensitive It's also had various other improvements in terms of POSIX compatibility, for example, characters not allowed in Windows filenames can now be used in Cygwin. Another one is that mount points are now stored in /etc/fstab rather than the registry. See the What's New section for lots more improvements: http://cygwin.com/cygwin-ug-net/ov-new1.7.html The Cygwin developers do have an official Linux compatibility goal, and fixes are going in all the time, but of course it's never going to be perfect, partly due to limitations of the underlying platform, and partly due to lack of (wo)manpower.

  24. Re:Recommended alternative terminal program? by schnablebg · · Score: 2, Informative

    Console, a very nice application that has tabs, sane copy/paste functionality, and can be configured to launch bash or whatever you want. Not sure about Unicode.