×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Cygwin 1.7 Released

timothy posted more than 4 years ago | from the christmas-present dept.

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

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

203 comments

One question remains... (5, Funny)

gzipped_tar (1151931) | more than 4 years ago | (#30549252)

... Does it run under WINE?

Cygwin and Windows (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30549448)

Yay! With Cygwin, you can take good, reliable, high-quality software and run it on a shitty OS! Woohoo! I bet they had to work so hard to be able to do that, too.

Re:One question remains... (5, Informative)

DMUTPeregrine (612791) | more than 4 years ago | (#30549552)

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

Re:One question remains... (0)

Anonymous Coward | more than 4 years ago | (#30550300)

since when does WINE run under cygwin?

Merry Fucking Christmas! (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30549264)

What are you nerds doing still working??

Isn't there some kind of /. Santa tracker or something??

Oh wait a minute. Slashdot is run by Jews. That explains everything.

simpler explanation is (1)

BhaKi (1316335) | more than 4 years ago | (#30549518)

The people who run Slashdot are not religious.

Re:simpler explanation is (0, Troll)

Virak (897071) | more than 4 years ago | (#30549544)

That sounds exactly like what a Jewdot editor would say. I knew it, you're one of them too!

Re:simpler explanation is (0)

Anonymous Coward | more than 4 years ago | (#30549586)

Yo are wrong, they are Pastafarians.

Re:simpler explanation is (1)

timothy (36799) | more than 4 years ago | (#30549880)

Some are, some aren't; I'm in the 2d camp, and insomniac, and stupidly single, hence this reply.

timothy

Re:simpler explanation is (1)

Hal_Porter (817932) | more than 4 years ago | (#30549984)

OMG! I knew the original slashdotters - the ones with IPO money and girlfriends - mistreated you but putting you in "Camp 2D" seems a bit harsher than expected. I thought they just chained you to the server to keep you 'editing' when they were out meeting with celebrities and doing drugs.

Re:Merry Fucking Christmas! (1)

tyrione (134248) | more than 4 years ago | (#30549580)

What are you nerds doing still working??

Isn't there some kind of /. Santa tracker or something??

Oh wait a minute. Slashdot is run by Jews. That explains everything.

Marduk has them all on a short leash.

Re:Merry Fucking Christmas! (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30549614)

As a result of an overwhelming lack of requests, and with research
  help from that renowned scientific journal SPY magazine (January, 1990)
  --here is the annual scientific inquiry into Santa Claus.

  1) No known species of reindeer can fly. BUT there are 300,000 species
  of living organisms yet to be classified, and while most of these are
  insects and germs, this does not COMPLETELY rule out flying reindeer
  which only Santa has ever seen.

  2) There are 2 billion children (persons under 18) in the world. BUT
  since Santa doesn't (appear) to handle the Muslim, Hindu, Jewish and
  Buddhist children, that reduces the workload to 15% of the total - 378
  million according to the Population Reference Reference Bureau. At an
  average (census) rate of 3.5 children per household, that's 91.8 million
  homes. One presumes there's at least one good child in each.

  3) Santa has 31 hours of Christmas to work with, thanks to the different
  time zones and the rotation of the earth, assuming he travels east to west
  (which seems logical). This works out to 822.6 visits per second. This is
  to say that for each Christian household with good children, Santa has
  1/1000th of a second to park, hop out of the sleigh, jump down the chimney,
  fill the stockings, distribute the remaining presents under the tree, eat
  whatever snacks have been left, get back up the chimney, get back into the
  sleigh and move on to the next house. Assuming that each of these 91.8
  millions stops are evenly distributed around the earth (which, of course,
  we know to be false but for the purposes of our calculations we will
  accept), we are now talking about .78 miles per household, a total trip of
  75-1/2 million miles, not counting stops to do what most of us must do at
  least once every 31 hours, plus feeding and etc.

  This means that Santa's sleigh is moving at 650 miles per second, 3,000
  times the speed of sound. For purposes of comparison, the fastest man-made
  vehicle on earth, the Ulysses space probe, moves at a poky 27.4 miles per
  second - a conventional reindeer can run, tops, 15 miles per hour.

  4) The payload on the sleigh adds another interesting element. Assuming
  that each child gets nothing more than a medium-sized lego set (2 pounds),
  the sleigh is carrying 321,300 tons, not counting Santa, who is invariably
  described as overweight. On land, conventional reindeer can pull no more
  than 300 pounds. Even granting that "flying reindeer" (see point #1) could
  pull TEN TIMES the normal amount, we cannot do the job with eight, or even
  nine. We need 214,200 reindeer. This increases the payload - not even
  counting the weight of the sleigh - to 353,430 tons. Again, for
  comparison - this is four times the weight of the Queen Elizabeth.

  5) 353,000 tons traveling at 650 miles per second creates enormous air
  resistance - this will heat the reindeer up in the same fashion as
  spacecraft re-entering the earth's atmosphere. The lead pair of reindeer
  will absorb 14.3 QUINTILLION joules of energy. Per second. Each. In
  short, they will burst into flame almost instantaneously, exposing the
  reindeer behind them, and create deafening sonic booms in their wake. The
  entire reindeer team will be vaporized within 4.26 thousandths of a second.
  Santa, meanwhile, will be subjected to centrifugal forces 17,500.06 times
  greater than gravity. A 250-pound Santa (which seems ludicrously slim)
  would be pinned to the back of his sleigh by 4,315,015 pounds of force.

  In conclusion - If Santa ever DID deliver presents on Christmas Eve, he's
  dead now. Merry X-mas.

Re:Merry Fucking Christmas! (1)

JWSmythe (446288) | more than 4 years ago | (#30549676)

    This does not take into account his advanced distribution network, planetary time dilation field generator, and bag of infinite holding.

    With those tools in place, every present can be delivered in what would appear to be a fraction of a second to us. He doesn't do it all by himself. The "Santa Claus" image is actually a generalization of the appearance of an advanced species. They handle the delivery, assigned sectors based on population of "good" children. They stopped the "bad" children delivery of coal decades ago to optimize the delivery patterns.

    The reindeer are a common question posed. They are not in fact reindeer. They the antigravity and propulsion systems, simply shaped to look like reindeer and a sleigh.

    Did I mention that the entities known as "Santa Claus" is also not of this world, but brings happiness and joy to the juvenile population of the planet. It is, of course, a conspiracy where the children are being educated to be "good" obedient servants for when the harvesting time comes. When that happens, they will take the "good" children between the ages of 8 to 18, and put them to work on the alien masters ships.

    I for one welcome our alien Santa Claus overlords. More over, I hereby request a ride off this rock.

Re:Merry Fucking Christmas! (1)

JustOK (667959) | more than 4 years ago | (#30549994)

Reindeer is redundant. The root rein is Scandinavian for 'reindeer', so reindeer translates to 'reindeer deer'.

Re:Merry Fucking Christmas! (0)

Anonymous Coward | more than 4 years ago | (#30550338)

Haha. Kinda reminds me of Table Mesa Dr. in Boulder, CO. (mesa means table). Table Table. Mesa mesa.

oh bollox - he uses amazon these days (1)

Barsteward (969998) | more than 4 years ago | (#30549792)

so his work load will be smaller and more manageable, and there are rumours that he's been cloned

Re:Merry Fucking Christmas! (0)

Anonymous Coward | more than 4 years ago | (#30549742)

What are you trolls doing still working??

Isn't there some kind of troll Christmas party or something??

Oh wait a minute. Trolls are Jews. That explains everything.

Does this do something SFU doesn't? (3, Interesting)

SanityInAnarchy (655584) | more than 4 years ago | (#30549270)

Windows has had a POSIX layer of its own for awhile now, as "Services for Unix".

On the lighter-weight end, mingw can give you the basics, and they usually run much faster (even bash!) than Cygwin did. Maybe Cygwin is better now, it's just that I don't really see what it has over, well, any other way of running POSIX apps on Windows.

Re:Does this do something SFU doesn't? (2, Informative)

LoRdTAW (99712) | more than 4 years ago | (#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.

Re:Does this do something SFU doesn't? (1)

SanityInAnarchy (655584) | more than 4 years ago | (#30549372)

Mingw has both of these, and is much faster, last I checked.

Re:Does this do something SFU doesn't? (1)

nimble (1707376) | more than 4 years ago | (#30550098)

MinGW does not have a bash shell, because it provides nowhere near the level of Unix compatibility required for bash (as that's not the aim of the project). There is an MSYS version of bash, but MSYS in fact is a (more or less unmaintained) fork of Cygwin 1.3.

Re:Does this do something SFU doesn't? (1)

cbhacking (979169) | more than 4 years ago | (#30550186)

Mingw may be faster than Cygwin (not hard), but I'd be surprised if it's faster than Interix (SFU/SUA). Interix binaries are "native" in the same sense that Win32 binaries are (technically speaking the NT kernel doesn't support either Win32 or POSIX syscalls directly; that's what its subsystems are for).

Furthermore, Interix is simultaneously better integrated with the OS and uses more *NIX-type behavior (case-sensitive UNIX-path filesystem, allows any extension or none at all on executables, etc.) Frankly, I also found it to be less of a hassle to set up than mingw.

To echo the thread-starter's question: what does it do that Interix doesn't, or what does it do better?

Re:Does this do something SFU doesn't? (3, Informative)

Genocaust (1031046) | more than 4 years ago | (#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.

Re:Does this do something SFU doesn't? (4, Informative)

bcat24 (914105) | more than 4 years ago | (#30549504)

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

Re:Does this do something SFU doesn't? (1)

Dwedit (232252) | more than 4 years ago | (#30549314)

I once tried out Services For Unix. I then attempted to build GNU Tar, but couldn't figure out how to make the integrated Unzip part of it work, so I gave up. That's too bad, since Cygwin royally sucks at fork.

Re:Does this do something SFU doesn't? (4, Informative)

Darkness404 (1287218) | more than 4 years ago | (#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.

Re:Does this do something SFU doesn't? (0)

Anonymous Coward | more than 4 years ago | (#30549440)

Works fine for me on Windows 7 Ultimate 64bit.

Re:Does this do something SFU doesn't? (2, Informative)

yuhong (1378501) | more than 4 years ago | (#30549460)

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

Re:Does this do something SFU doesn't? (3, Informative)

yuhong (1378501) | more than 4 years ago | (#30549456)

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.

Re:Does this do something SFU doesn't? (1)

BitZtream (692029) | more than 4 years ago | (#30549480)

Its called something else now, in typical MS style. Can't remember the new name off the top of my head.

They also dropped the NIS or NFS server, perhaps both. Added an ssh server maybe? I can't remember exactly, I haven't dealt with it recently.

Re:Does this do something SFU doesn't? (1)

yuhong (1378501) | more than 4 years ago | (#30549494)

It is Subsystem for UNIX-based Applications (SUA), and it is available in Windows Server 2003 R2 and later, and Vista Enterprise and higher editions. The server components of SUA is I think only available in the server versions of Windows.

Re:Does this do something SFU doesn't? (4, Informative)

cbhacking (979169) | more than 4 years ago | (#30550208)

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.

Re:Does this do something SFU doesn't? (2, Insightful)

R.Mo_Robert (737913) | more than 4 years ago | (#30549406)

The biggest--perhaps only--reason I install Cygwin on Windows is because so many cross-platform applications require it for compilation (Mozilla, I'm looking at you). Of course, whether they coud ue MinGW and/or the Windows "Services for Unix" layer to accomplish something similar is another story, but until they decide to change and support it, Cygwin it is.

And personally, having had to install Cygwin, I've never even paid attention to the POSIX layer for Windows, but it looks like it might be worth looking into. I think part of the reason some projects use Cygwin owes to their current or not-to-far-in-the-past support of Windows 9x/Me (the POSIX layer, of course, is only for the NT family) and probably no benefit (or perhaps even more problems, having to work out compatibility issues with yet another set of tools) from changing.

Re:Does this do something SFU doesn't? (0)

Anonymous Coward | more than 4 years ago | (#30549478)

One big advantage is that you are not depending on Microsoft to provide the layer. But more often than not it's not your decision as Cygwin is a compile dependency.

Re:Does this do something SFU doesn't? (1)

AlexLibman (785653) | more than 4 years ago | (#30549578)

Cigwin has traditionally been slower than SFU, but it's MUCH easier to install lots of packages without having to figure out how to fix pkgsrc compilation problems and so on. I find that having an actual UNIX box to ssh to (physical or emulated) is the best solution of all.

Re:Does this do something SFU doesn't? (2, Informative)

shutdown -p now (807394) | more than 4 years ago | (#30549668)

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.

Re:Does this do something SFU doesn't? (3, Informative)

cbhacking (979169) | more than 4 years ago | (#30550106)

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.

makes windows marginally bearable (5, Insightful)

pydev (1683904) | more than 4 years ago | (#30549280)

Even after all these years, Microsoft has nothing equivalent to the UNIX command line. The standard cmd.exe is too limited, and Powershell isn't a good interactive shell, it's more like typing at a Python or Ruby interpreter. Cygwin makes doing anything on Windows marginally tolerable and I install it on any Windows machine I happen to use.

Re:makes windows marginally bearable (1, Informative)

Zephiris (788562) | more than 4 years ago | (#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).

Re:makes windows marginally bearable (1)

Hes Nikke (237581) | more than 4 years ago | (#30549522)

back when i had windows on my desk, i installed cygwin and used putty to ssh into itself. Now I use cygwin to ssh into my only windows server.

Re:makes windows marginally bearable (1)

osu-neko (2604) | more than 4 years ago | (#30549620)

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

*blink* *blink*

It never even occurred to me that anyone would NOT use rxvt or some other Unix terminal program if they bothered to go through the effort of installing Cygwin. That would be... kinda pointless I would think. Do you even install Xwindows at all then? If not... are you sure you wanted any sort of Unix compatibility to begin with? o.O

Re:makes windows marginally bearable (2, Interesting)

RDaneel2 (533639) | more than 4 years ago | (#30549848)

No, SFU/SUA is not the same as Cygwin... it is an implementation of a POSIX(?) userland that sits directly on top of the NT kernel. Also unlike Cygwin, it does not rely on the Win32 subsystem. It comes with numerous GNU, System V, and BSD utilities. One of its design goals is to be "source compatible", so that in general only a recompile of Unix apps is required. And I, like many others, would like to know when the release of all the actual tools for Windows 7 and Server 2008 R2 version of SUA will show up... it has now been over 2 months since general release of Windows 7. Sigh.

Re:makes windows marginally bearable (5, Informative)

lena_10326 (1100441) | more than 4 years ago | (#30549932)

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

Re:makes windows marginally bearable (1)

lena_10326 (1100441) | more than 4 years ago | (#30549974)

By the way...

Re:makes windows marginally bearable (Score:1, Troll)
by Zephiris (788562) Alter Relationship on Thursday December 24, @11:43PM (#30549412) Homepage

Looks like some asshole got mod points and went to town again.

Re:makes windows marginally bearable (1)

AmberBlackCat (829689) | more than 4 years ago | (#30549514)

I just can't see any reason myself or an average Windows user would need a UNIX command line on their Windows computer. In fact, I think the whole point of Windows is to get away from the command line.

Re:makes windows marginally bearable (1)

NormalVisual (565491) | more than 4 years ago | (#30549554)

Because the Windows command line blows. There are still plenty of situations where a command line is preferable on Windows, and I'd keep Cygwin on it just to have non-brain-dead command history functionality, if for no other reason.

Re:makes windows marginally bearable (1)

timmarhy (659436) | more than 4 years ago | (#30549672)

err no, the commandline blows BECAUSE they want you to use the gui, not the other way around. does your dogs tail wag your dog ?

Re:makes windows marginally bearable (1)

amRadioHed (463061) | more than 4 years ago | (#30549958)

It's fine if they want you to use the GUI, make a superior way to do things in the GUI and people will use it. Making the command line interface so lousy that people will actually prefer a half-assed GUI is not the right way to go about doing things.

Re:makes windows marginally bearable (3, Interesting)

daveime (1253762) | more than 4 years ago | (#30550210)

For *nix users, however, the reverse is usually true.

Making the half-assed GUI so lousy that people will actually prefer a command line interface is not the right way to go about doing things

Re:makes windows marginally bearable (1)

osu-neko (2604) | more than 4 years ago | (#30549640)

There are people who say always use the command line. Then there are people who say always use the GUI. All of these people are idiots. Use whatever works best for the task at hand. Sometimes a command line-based solution works best. Sometimes a nice GUI does. You can have more than one tool in a toolbox...

Re:makes windows marginally bearable (1)

maitai (46370) | more than 4 years ago | (#30549684)

More than one tool could also mean using Windows for the GUI (which I prefer) or Unix for the command line (which is why I have this headless Unix box sitting beside my desktop).

Happy Unix user (command line only, dislike X) since 1987.

Re:makes windows marginally bearable (1, Insightful)

Anonymous Coward | more than 4 years ago | (#30549712)

I just can't see any reason myself or an average Windows user would need a UNIX command line on their Windows computer.

Consider the task of converting a few thousand files from one format to another. The average Windows user will spend hours doing it by hand or spend a lot of money on a special purpose tool to do such conversions. If they're really smart, they may spend a lot of time and cobble something together in VisualBasic. That's the Windows way: slow, cumbersome, and expensive.

In fact, I think the whole point of Windows is to get away from the command line.

The whole and entire point of Windows is to make money for Microsoft, to tie you inextricably to their platform, and to make sure that your thinking becomes so warped that you can't possibly use anything else. I'd say they are succeeding.

Re:makes windows marginally bearable (2, Insightful)

RAMMS+EIN (578166) | more than 4 years ago | (#30549756)

I just can't see any reason myself or an average Windows user would need a UNIX command line on their Windows computer. In fact, I think the whole point of Windows is to get away from the command line.

I don't see it that way. I don't see a point in getting away from the command line. Some things are most easily or quickly done or explained with the command line, just as other things are most easily or quickly done or explained using windows, icons, menus and a pointer. It's good to have good support for both in your system.

The way I see it, the point of Windows, from a customer's perspective, is to run Windows applications. That is the one thing Windows does better than any other operating system out there.

Re:makes windows marginally bearable (2, Insightful)

lena_10326 (1100441) | more than 4 years ago | (#30549956)

I just can't see any reason myself or an average Windows user would need a UNIX command line

If you are a developer or sysadmin who deals with data, then you use the command line. You can take several hundred log files, run them through 1 liner piped commands (find, grep, xargs, awk, sed, perl, sort, uniq, wc, head, tail, etc), output a CSV file, and pop it into Excel in about 10-20 minutes. Try doing that with only Excel and you'll be there all day.

Re:makes windows marginally bearable (1, Funny)

Anonymous Coward | more than 4 years ago | (#30550280)

True. Where i work, my coworkers would try to write a C# app to do it. Command line stuff is bad form.

Re:makes windows marginally bearable (1)

selven (1556643) | more than 4 years ago | (#30550140)

What's with all this hatred of the command line? The command line is an interface, just like the graphical one, and it is a very powerful interface that can do things GUIs will never do (how do you even try to make a full (not just if x in the line sub y with z) GUI for sed without making it a textbox?)

Re:makes windows marginally bearable (1)

heffrey (229704) | more than 4 years ago | (#30549716)

The gnu toolset can compiled natively on Windows so why would you want to use cygwin as a shell?

Re:makes windows marginally bearable (1, Informative)

Anonymous Coward | more than 4 years ago | (#30549738)

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

Re:makes windows marginally bearable (2, Insightful)

bvankuik (203077) | more than 4 years ago | (#30549872)

If you think about it, it is almost unbelievable that Microsoft would release a new shell, then mak it not POSIX compliant. Almos defy OS for the last couple of decades has aimed for POSIX compliancy. Then when they build a shell, they ignore that and go on their own way. I wonder what would have happened if they just tried to conform.

A lot of sysadmins who are fluent with shell scripting, could have jumped in and have a huge advantage administering Windows machines. A lot of free utilities could easily be ported. And Windows admins could just pick up any of the gajillion resources on Shell scripting, or visit a local Unix user group to pick up tricks.

I know Powershell has lots of hooks that apps can hook into; that's basically the equivalent of Linux' D-Bus system.

makes windows marginally interactive. (0)

Anonymous Coward | more than 4 years ago | (#30550062)

"Even after all these years, Microsoft has nothing equivalent to the UNIX command line. The standard cmd.exe is too limited, and Powershell isn't a good interactive shell, it's more like typing at a Python or Ruby interpreter."

Well as Lisp has taught us, sometimes that's all you need.

Re:makes windows marginally bearable (3, Insightful)

cbhacking (979169) | more than 4 years ago | (#30550162)

While it requires the higher editions of Windows (XP Pro, Vista/7 Enterprise or Ultimate, any Server edition), you must have missed the presence of the POSIX subsystem in NT (it's been there since the first releases of the OS, incidentally). Called the Subsystem for UNIX Applications (SUA) on recent versions, or Services For UNIX (SFU) on XP and before, the POSIX subsystem is free on supported Windows and includes a decent operating environment called Interix.

Interix includes a few hundred libraries and utilities, mostly BSD derived or SVR5-derived (you can choose which lineage you want at install) but also including things like the GNU build toolchain (gcc 3 and 4, with support for at least C, C++, and Fortran; I haven't tried any others). Additionally, you can install a package manager and an expanded/updated collection of tools and software from http://suacommunity.com/sua.aspx [suacommunity.com]. Manpages are also included (both for bundled software and Interix packages).

Bash (along with other shells such as zsh) is available from suacommunity. Interix ships with csh and ksh. I use Interix bash as my standard Windows command line these days, including running Windows CLI utilities. I also run Python and Ruby interpreters from within Interix (suacommunity packages). You can even run graphical applications if you have an X server such as xming (the suacommunity bootstrapper will offer to install it).

If you have a version of Windows that supports the POSIX subsystem (businesses mostly will), I recommend it over Cygwin. For one thing, you get true *NIX behavior - executables are marked by permissions bits, not by extensions, the filesystem is case-sensitive (technically an install option for Interix, but one you definitely want), and you get UNIX-style permissions including working setUID and setGID (having a working sudo makes using the command line on a non-Administrator Windows session much more pleasant).

Do we finally have unicode support? (4, Interesting)

Dwedit (232252) | more than 4 years ago | (#30549330)

For a while, I've been using a modified version of Cygwin [okisoft.co.jp] in order to get proper UTF-8 support. Does the new version finally integrate a similar feature?

Yes. (5, Informative)

amake (673443) | more than 4 years ago | (#30549398)

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]

Re:Yes. (1)

nimble (1707376) | more than 4 years ago | (#30549858)

I think the Unicode and internationalization support is the most important improvement in 1.7, making it much more useful for people who need more than ASCII. There's been a lot of under-the-hood work to convert the Cygwin internals from using Windows "ANSI" APIs to Unicode APIs. Cygwin's filesystem will automatically translate between Windows filenames, which are encoded as UTF-16, and POSIX filenames, which are encoded as UTF-8 or whatever other charset you might have selected.

Re:Do we finally have unicode support? (1)

s1lverg1ow (1592407) | more than 4 years ago | (#30549454)

The release announcement page says "Default character set is now UTF-8..." Maybe you will install 1.7 and tell us how good the implementation is?

sweet! (1)

yup2000 (182755) | more than 4 years ago | (#30549366)

This is really great - I was setting up rsync and ssh on my parents computer a couple days ago as part of a backup system. I was having a problem with rsync hanging on a 2GB pst file, but the new cygwin brings rsync up to date, and whatdoya know... it works! Now my openbsd box happily backs up their stuff!

min req windows (-1, Offtopic)

Anonymous Coward | more than 4 years ago | (#30549370)

who actually uses this... it REQUIRES windows?

I was never really impressed (1, Interesting)

bsDaemon (87307) | more than 4 years ago | (#30549472)

Let's be honest -- whether Linux or BSD is ready for the desktop, ready for the laptop is something slightly lacking, and I mostly have laptops these days. I couldn't take it anymore with Linux or BSD on my laptop, so I bought Vista. Of course, I can't live without a command line, because that's what I'm used to. I remembered having used Cygwin years ago, back in the Win95 days, and so I tried to give it ago.

No dice -- it doesn't really integrate with the rest of the system very well, I find. Maybe I'm just not doing it right, but whatever. Then I gave up and grabbed SFU off of Microsoft's website. It was OK, but not really stellar. It's more for running batch jobs and giving something to code against than for interactive use, same as Cygwin I guess.

Eventually I got so pissed sick of it all that I just bought a MacBook Pro so that I could have a Unix-ish environment without having to worry about power management or weird wifi issues that I'd had with Fedora, CentOS, Ubuntu, Slackware, ZenWalk, Mint, FreeBSD, OpenBSD and PC-BSD on the Toshiba hardware.

So, I guess my question is -- is Cygwin meant for interactive use, or just to give the POSIX API and build environment so you can see whether or not your code will compile against a Unix machine? Because it seems like they've been putting an awful lot of effort into this for a very long time for it to suck so bad if its meant to be an interactive method of accessing a Windows machine by Unix commands.

Re:I was never really impressed (1)

jhol13 (1087781) | more than 4 years ago | (#30549534)

I use it entirely for interactive use. It is not very good for testing "does it compile in Unix" as it is not that compatible with modern distros.

The default setting does require a bit tinkering and it does have some issues[1], but other than that it is pretty good command line.

[1] Usually with Windows commands - they insist not to work with paths (take them as command switches), symbolic links, etc.

Re:I was never really impressed (1)

RAMMS+EIN (578166) | more than 4 years ago | (#30549788)

I don't think Cygwin is "meant to be an interactive method of accessing a Windows machine by Unix commands" so much as it is a Unix/POSIX/GNU compatibility layer for Windows, similar to how WINE is a Windows compatibility layer for *nix. Both of them allow you, to a limited extent, to run software written for the other set of APIs.

Re:I was never really impressed (3, Interesting)

plasticsquirrel (637166) | more than 4 years ago | (#30549844)

Cygwin isn't meant to give you all the Linux or Windows system features, just provide a full-featured POSIX emulation layer (at its core, just one DLL), and programs compiled for that. You may still need to use Windows utilities to access Windows-specific features that have no POSIX implementation. However, the important thing is that it basically gives Unix developers a common platform, so anything developed for general Unix systems will compile on Cygwin's POSIX emulation layer.

Since Cygwin basically throws you into a command shell, it really does require an understanding of the fundamentals of Unix/Linux systems and how to work effectively in a shell. For example, I doubt many users of Slackware or NetBSD would have any substantial complaints about Cygwin. As someone who used Cygwin for years in a corporate environment where I could not use Linux, it was a godsend. I could spend my whole day working in Cygwin without having to mess with Windows development environments. Being able to throw together a bash script that uses grep, sed, awk, etc. is so nice for a stranded Linux user. However, many people do not learn the basic utilities anymore, even basic things such as customizing a login shell.

If there is a weak point in the Cygwin interactive experience, in my opinion it comes from the fact that the default Windows terminal program is used, which is slow and generally terrible compared to the modern Linux terminal apps. Maybe someday there will be a fast and full-featured replacement. But as it is, the Windows terminal is basically sluggish early 90's cruft that just isn't up to the task. Not a fault of Cygwin, but still a problem when running any such programs on Windows.

Re:I was never really impressed (2, Informative)

nimble (1707376) | more than 4 years ago | (#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]

Re:I was never really impressed (1)

onefriedrice (1171917) | more than 4 years ago | (#30549952)

so that I could have a Unix-ish environment without having to worry about power management or weird wifi issues that I'd had with Fedora, CentOS, Ubuntu, Slackware, ZenWalk, Mint, FreeBSD, OpenBSD and PC-BSD...

No, I'm sorry. The correct answer is "BeOS."

Porting Unix applications to MS Windows (1)

Per Abrahamsen (1397) | more than 4 years ago | (#30550270)

I'm pretty sure the main purpose is for porting Unix applications to MS Windows, and/or for maintaining a common build environment for the two platforms. At least that is what I use it for. I actually compile with MinGW as the application itself have very few OS dependencies, Cygwin "just" provides the pure build environment.

I also used to use Cygwin/X11 to provide a Unix like interactive programming environment, but as the MS version of GNU Emacs is quite good these days, and GNU Emacs itself provide most of the common environment I need, I don't bother with that anymore.

I wonder if Cygwin really has much of a future (2, Insightful)

Anonymous Coward | more than 4 years ago | (#30549490)

It used to be if I wanted to run some Linux code under Windows I'd have to have a Linux box nearby, boot into Linux, or deal with Cygwin. I've never really enjoyed using Cygwin it's a pain to use, maintain, work with, and code for. There are lots of subtle differences in how your code behaves when you go from Linux to Cygwin (for example, re-writing someone's entire program because they liked to use lots of mallocs and Cygwin mallocs are unbelievably slow).

At this point though you can either run VMware, get a full Linux distro, and have easier access to your local Windows files (via a local share) than Cygwin's fun mapping scheme (/cygdrive what now?). Or you can even run an EC2 instance. Cygwin was never painless enough to make it worth while to use, if I needed to do something in Linux I'd rather use a real Linux box.

I don't think most people really miss the command line utilities enough to want to go through the hassle of using Cygwin (I hate the install process btw)... but then again I don't like using Linux as my desktop. I'd rather just use Windows or OS X and ssh into my Linux clusters as needed.

Re:I wonder if Cygwin really has much of a future (1)

shutdown -p now (807394) | more than 4 years ago | (#30549686)

The point of Cygwin is to relatively easily port Unix (including Linux) applications to Windows, without doing major rewrites. The result isn't optimal, performance-wise, but it often gets the job done, and the end user doesn't even need to know that it's running on top of Cygwin (he only sees the DLL, but that's it).

If you want a shell that builds on (and further extends) Unix principles, and is well-integrated into Windows, you should really use PowerShell.

Re:I wonder if Cygwin really has much of a future (1)

junglee_iitk (651040) | more than 4 years ago | (#30550056)

Running vim under xterm is awesome. And without using 1 thousand fifteen zillion megabyte of memory to run andLinux...

I have tried almost everything and always come back to cygwin. Virtualbox takes care of the remote cases.

Personally, I am not too excited about v1.7, since I had pretty bad experiences with the beta as late as 2-3 months ago.

Compared to MingW, (-1, Troll)

BhaKi (1316335) | more than 4 years ago | (#30549528)

cygwin SUCKS. Cygwin tools' functionality is a small subset of GNU utilities. MingW, OTOH, is a complete port of GNU to Windows.

Re:Compared to MingW, (0)

Anonymous Coward | more than 4 years ago | (#30549764)

Erm, it's the other way round. Cygwin provides a fairly complete GNU environment, whereas MinGW stands for "Minimalist GNU for Windows" and primarily provides gcc for plain Windows without attempting full POSIX compatibility. Hence Unix programs can usually be compiled with little change on Cygwin, whereas with MinGW a substantial porting effort is often required.

MinGW actually ships with Cygwin. There's also MSYS, which is a fork of Cygwin 1.3.

Re:Compared to MingW, (1)

jilles (20976) | more than 4 years ago | (#30549832)

What do you mean small subset, you can compile and install KDE and x.org on Cygwin. Pointless I agree, but most common place unix commandline stuff compiles and works on cygwin. I used to depend on cygwin to make life a bit more tolerable when I was still depending on windows laptops for development. There's something called puttycyg which is a fork of putty with some cygwin stuff compiled in that really improves the terminal experience (bash in a dos window kind of sucks).

I never noticed any performance issues. But then I don't do much performance critical work on the commandline. A few simple greps, ls and wc commands and the odd bash script to automate some stuff.

Have they changed the icon? (1)

fredrickleo (711335) | more than 4 years ago | (#30549592)

I know it sounds stupid but I hate the Cygwin icon, it looks like a Windows 3.1 app.

Re:Have they changed the icon? (0)

Anonymous Coward | more than 4 years ago | (#30549700)

I know it sounds stupid but I hate the Cygwin icon, it looks like a Windows 3.1 app.

The icon symbolizes the current state of "Linux on the Desktop".

Dont be hatin on Christmas (0)

Anonymous Coward | more than 4 years ago | (#30549596)

Damn theres a lotta haters here.
Cygwin is nowhere near as huge as those 'alternatives' you are giving and its great for windozers to learn about linux.
And anyway, andlinux sucks because it doesn't let you smash the stack :-(

Re:Dont be hatin on Christmas (0)

Anonymous Coward | more than 4 years ago | (#30549698)

Agreed. Cygwin is painless, minimal and sufficient for typical command line operations. The Cygwin X server is workable as well. Does what it says on the tin without grabbing hundreds of megs of RAM to do it.

Too expensive! (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30549802)

Breakout licenses for cygwin are just too friggin' expensive.

Did they simplify fork()? (0)

Anonymous Coward | more than 4 years ago | (#30550278)

Because of NT's POSIX subsystem (later exposed as Services for Unix or Services for Unix Applications), the NT kernel natively supports a fork() type operation.. My recollection is that Cygwin totally ignores this and does its own non-copy-on-write version of fork(), presumably because it was written in the days when Win95 and Win98 were common. Anyone know if they've corrected this?

Re:Did they simplify fork()? (1)

nimble (1707376) | more than 4 years ago | (#30550360)

Cygwin can't use the NT fork support, because it's implemented on top of Win32, and NT's fork does not support Win32 DLLs. Obviously that is a significant disadvantage, particularly during fork-heavy 'configure' runs, but there are also advantages that approach too, e.g. it allows things like /dev/clipboard for accessing the clipboard and /proc/registry for accessing the registry. It also means that Cygwin programs can mix POSIX and Win32 calls, so when porting from Unix to Windows you can take a gradual approach, or just port the UI only.

is the library compatibility problem fixed? (0)

Anonymous Coward | more than 4 years ago | (#30550364)

Something that annoyed me about cygwin in the past was that if one version is running and you then run something that loads a different cygwin library version, it all stops working... I have to reboot to get anything cygwin to work again.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...