Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Microsoft Unix Windows Technology

Cygwin 1.7 Released 203

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."
This discussion has been archived. No new comments can be posted.

Cygwin 1.7 Released

Comments Filter:
  • by LoRdTAW ( 99712 ) on Friday December 25, 2009 @01:09AM (#30549276)

    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.

  • search! (Score:5, Informative)

    by spongman ( 182339 ) on Friday December 25, 2009 @01:31AM (#30549358)

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

  • by Darkness404 ( 1287218 ) on Friday December 25, 2009 @01:39AM (#30549384)
    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.
  • Yes. (Score:5, Informative)

    by amake ( 673443 ) on Friday December 25, 2009 @01:41AM (#30549398) Homepage

    Yes. From the announcement [cygwin.com]:

    - 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 [cygwin.com]

  • by Genocaust ( 1031046 ) on Friday December 25, 2009 @01:41AM (#30549400)
    Why not something less convoluted like andLinux [andlinux.org]? 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.
  • by Zephiris ( 788562 ) on Friday December 25, 2009 @01:43AM (#30549412)

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

  • by yuhong ( 1378501 ) <yuhongbao_386@nosPam.hotmail.com> on Friday December 25, 2009 @01:55AM (#30549456) Homepage
    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.
  • by yuhong ( 1378501 ) <yuhongbao_386@nosPam.hotmail.com> on Friday December 25, 2009 @01:56AM (#30549460) Homepage
    But if you have that edition SUA should be available, which should be much better than SFU and should be used instead
  • by bcat24 ( 914105 ) on Friday December 25, 2009 @02:11AM (#30549504) Homepage Journal

    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. :)

  • by DMUTPeregrine ( 612791 ) on Friday December 25, 2009 @02:29AM (#30549552) Journal
    Yes, Cygwin does run under WINE. And WINE runs under Cygwin. It can be an amusing stress test.
  • by shutdown -p now ( 807394 ) on Friday December 25, 2009 @03:29AM (#30549668) Journal

    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.

  • by shutdown -p now ( 807394 ) on Friday December 25, 2009 @03:30AM (#30549674) Journal

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

  • by Anonymous Coward on Friday December 25, 2009 @03:58AM (#30549738)

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

  • by lena_10326 ( 1100441 ) on Friday December 25, 2009 @04:59AM (#30549932) Homepage

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

  • by nimble ( 1707376 ) on Friday December 25, 2009 @06:13AM (#30550090)
    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/ [googlecode.com]
  • 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.

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

  • WINE / Cygwin (Score:5, Informative)

    by DrYak ( 748999 ) on Friday December 25, 2009 @08:21AM (#30550414) Homepage

    since when does WINE run under cygwin?

    It works both [winehq.org] ways [winehq.org], 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)

  • by cheesybagel ( 670288 ) on Friday December 25, 2009 @08:24AM (#30550420)
    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).

  • by nimble ( 1707376 ) on Friday December 25, 2009 @08:44AM (#30550472)
    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.

  • by NearlyHeadless ( 110901 ) on Friday December 25, 2009 @09:22AM (#30550568)

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

  • by nimble ( 1707376 ) on Friday December 25, 2009 @10:53AM (#30550850)
    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.

  • by nimble ( 1707376 ) on Friday December 25, 2009 @11:02AM (#30550898)
    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 [cygwin.com] 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 [cygwin.com] 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.
  • by schnablebg ( 678930 ) on Friday December 25, 2009 @03:26PM (#30552150)
    Console [sourceforge.net], 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.

All the simple programs have been written.

Working...