Cygwin is a great alternative for those who feel constrained by working with the Windows environment. Cygwin lets you employ the best parts of each environment to fit your needs, whether through porting and development of applications, or simply using the applications in this flexible, powerful system.
They need to fix their installer. If a mirror fails I should not have to go back and reselect all my packages!
Mingw is far better for my purposes…
Said another way, I wish RedHat would just produce a Cygwin .iso, or even a commercial CD. That would be groovy.
Just, select “Download packages to local folder” (or something to that effect) in options, and you don’t need to download “everything” again even if a mirror fails.
I’m not upset about downloading. I’m upset about reselecting packages. I spend 20 minutes customizing packages, seriously 20 minutes!
20 minutes.. wow… i personally just install all development tools, and select through some other packages.
naah… In my opinion MinGW is better!
Cygwin is very complete. If you select the top node in the installer so that it says “Install” then scroll down and uninstall X you should have a working install that contains everything from cron to sed to vim to awk, ssh, gpg, good integration with the operating system (I can hop around network drives like //drive/path or //machine/c$/path if I am a priviledged user. You develop for perl, php, python, pascal, etc.
I just gotten so used to using it I can’t think of using a windows box without it. Cygwin is stable, updates with ease, gets my work done.
When you get serious get Cygwin, it rocks!
Cygwin is great… but there are several alternatives worth mentioning, that provide better integration with windows then I’ve found cygwin does… Nutcracker from MKS, Interix (which I think are now part of Microsoft SFU) are commercial efforts, Microsoft Services for Unix itself is available free for XP Pro users and my personal favorite, UWIN (open source) http://www.research.att.com/sw/tools/uwin/ written by non-other than David Korn (of ksh fame).
The single best feature is the free X windows emulator makes things easy. Works better and is less complicated then hummingbird or exceed.
Exceed *is* Hummingbird, and with that level of knowledge (of ignorance, if you wish), what makes you think Cygwin X ‘works better and less complicated’ than Exceed? What is so complicated in installing Exceed that apparently blew your little mind? What’s about performance? What kind of benchmarks did you run?
Blah …
MinGW and Cygwin serve different purposes. MinGW brings you a UNIX command shell and tools for development of normal Windows EXEs. The EXEs produced by MinGW are designed to be stand-alone so that a consumer of the EXE need not have MinGW installed. Basically, this gives you access to the free gcc-family of compilers and tools allowing you to build standard Windows apps without a Microsoft (or other commercial) compiler. It uses all the usual Windows header files and such and is not designed to build standard POSIX code without some modifications as you’d have to port it just like you would if you were using Visual Studio (for example) instead of MinGW.
Cygwin, on the other hand, tries to not just bring a UNIX shell and tools to the Windows world, but also brings along a complete UNIX compatibility layer. The idea is that most any POSIX code can be compiled for Windows within the Cygwin environment unchanged. This is because Cygwin includes a lot of functionality in some DLLs that the EXEs depend upon; meaning that the EXEs you get out of Cygwin usually will require that the user has one or more Cygwin DLLs installed on their system (plus, some programs won’t run properly unless certain Cygwin registry settings are present which means that you can’t necessarily just distribute your app with the proper DLLs to end-users without dealing with that). It makes porting very east (often just a ./configure; make) but at the loss of a truly native stand-alone end result.
Would be fun to hear what are the “best parts” of the wintel environment…
Is another cool effort. First its a free XServer on Windows so its good. Secondly, just for the heck of it, you can now run full GNOME or KDE on Windows with all the Linux GUI tools.
Cygwin does on windows what wine does on *Nix
Cygwin does on windows what wine does on *Nix
Not exactly. Cygwin is a Posix compatability layer that also includes some *nix tools. Things have to be compiled for Cygwin though, Cygwin cannot run Linux or Solaris binaries.
Wine is designed to run the existing Windows binaries.
If you simply want some *nix tools on windows without a shell etc, then you can use gnuwin32 http://gnuwin32.sourceforge.net
I’ve been using it for over 5 years now, and it basically let’s me do all of the things that I normally do with Unix — notably scripting and piping and mangling bits of data.
Still have some minor issues fighting between DOS and Unix text formats, fighting with spaces in file names, etc., but it works for 95% of what I need it to do.
Though, for some reason, my find for updatedb is broken. Dunno why that is…
Anyway, I occasionally run X (and that works well enough), but mostly just run it for all of the scripting and tools that Unix has historically provided.
Anybody else find Cygwin slow? Simple scripting is slow as molasses.
No I have never seen that it was slow. In fact I though that cygwin was very fast.
If you need speed perhaps you should use Java 😉
Cygwin works well in general, but speed is an issue for me. My shell scripts are slow on Cygwin compaired to linux on the same hardware. Applications that I compile with cygwin are much slower then if I just compile them to native windows binary.
I love cygwin, but anyone saying it has no performance issues is either fibbing, or they only play around with the pre compiled tools, or lightweight shell scripts.
The binaries linked to the cygwin environment are native Windows binaries; they’re just using a DLL providing a POSIX layer not provided by Windows by default.
Forking under Windows can be expensive. There are other performance considerations one might make, but since your comment is just vague “it’s slow” there really isn’t much one can tell you. If you use a lot of indirection to accomplish the same goal as without, it will of course be slower.
An alternative if you want a more streamlined POSIX env is the MinGW/ Msys combination. MSys is the POSIX (bash shell and related tools) and it actually has better support for the underlying environment (path conversion, usage of the “start” command to run windows things from within the shell, etc.) The msysDTK provides a lot of useful tools (cvs, ssh, sftp, and even Perl).
MinGW provides a fairly up-to-date version of GCC for Windows. I also find it much easier to manage than Cygwin’s installer, and I’m always left wondering what Cygwin _thinks_ I need versus what I really want.
In my experience, the MinGW/msys ends up being 40MB or so less disk usage when all is said and done (I’m sure it’s extra tools/libs that Cygwin installed but I’m sure I’ve never used them.)
Does Msys/Mingw has sshd? This is one of the core reason i use Cygwin is since it has sshd. Once you install it, you can remotely ssh on your windows machines, get cygwin bash shell, and do all the cool stuff you can do locally on that machine.
Ofcourse XP has Remote desktop also which is awesome but still sometime you just want command line or sometime you are on a slow internet connection and at that time ssh’ing in your machine is great.
Cygwin isn’t that bad, it has some nice points even, but I don’t use it. I use MSYS. The one thing I never liked about Cygwin (this is shared with MSYS to a large extend) is that it is separate from windows. It dose not really integrate well. I can’t use bash to browse windows and my python, perl or whatever install is not available under windows. So the one thing that could make Cygwin cool and useful to me just isn’t there.
“can’t use bash to browse windows”
I assume you mean your c: drive? you can…
try typing cd /cygdrive/c
I’ve been using Cygwin + gentoo on colinux at work for 2 months now, and its great.
Its slow, It behaves strangly, output to console when it chooses…
I dont think cygwin is a good tool at all.
I tried using cygwin and found it slow. Then I gave embeded damnsmall linux a try. It uses QEMU. Seemed much faster…. not close to realtime but faster than cygwin…. my 2 cents worth. Or am I missing something?
i can never get wmaker to install properly, wtf. you type in wmaker.inst but then it has problems because it thinks my root directory is my documents and settings directory.
and then when you type wmaker, nothing happens or startx, i forget the x windows file.
has anyone had success compiling and installing windowmaker or gnome using mingw?
It’s an adequate POSIX environment/layer/whatever for Windows, but it can’t even be considered a complete enough distro for KDE dependent apps.
GnuCash in particular is a dependency hell app which some believe is best packaged with distros (witness OS X Tiger Fink users tearing their hair out). Scribus is another app which causes problems for Cygwin.
As a proof of concept, Cygwin is okay. As a method for harnessing the world of FOSS that hasn’t been ported to the Win32 API, it’s not ready for prime time.
“Cygwin is a great alternative for those who feel constrained by working with the Windows environment.”
Alternatives exist, but as the song goes (sing it with me):
“AINT NOTHIN LIKE THE REAL THING BABY!”
*nix rules, fsck the rest.
I use Cygwin in work, in fact right now:) I have windowmaker installed, i can do ssh to Linux server and start for example firefox there and it appears right into my windows desktop.
Previously i used Exceed, but switched to Cygwin. Had many problems with Exceed, international characters did not work, could not figure out how to connect to server with ssh (telnet worked), had problems with copy/paste etc. And its commercial too, i dislike spending money. Of course i needed some time in beginning to configure Cygwin properly, but now it has worked like i want about ~3 years.
Anyone has used both of them extensively? Like compiling *nix tools on them or doing *nix devel work?
I have used Cygwin for a couple of years and am able to compile many *nix tools on it, sometime with minor tweaking on make files. Now does SFU compare in this area?
The only reason I install cygwin is for the xserver. Its trivial to get working and its stable. Even does opengl.
The cygwin installer is a huge pain, takes way too long to select what you want, I think that there is actually way too much crap^h^h^h^h stuff to choose from.
SFU gives you very few installation options in terms of optional stuff, by default it gives you more of a complete base and then you go away and add to it if you want.
SFU also gives you an NFS client/server. Never used the server, but as an NFS client it works once you sort out your user id mapping. I wouldn’t say it was particularly fast, but I also have not compared it to CIFS.
I’ve never had to ask any support questions for SFU yet, but trying to resolve problems with the cygwin developers would have to be my worse support experience with anyone. Its the only open source group I’ve dealt with who are openly abusive to their users, complaining about what crap hardware they have, complaining about the lack of information in problem reports (but no advice on how to get more) etc. Maybe if they were helpful someone might give them some newer hardware…
In my experience cygwin leaks memory, does not do well on dual-processor boxes (to the point that I removed a cpu so that fork and make was reliable) and performance is pretty ordinary compared to the same binary compiled with win32. But thats what you get trying to map posix apis to win32.
I’ve used both quite a bit, and I’ve decided that SFU is better, hands down.
Firstly, it’s free (as in beer) like Cygwin.
Secondly, it’s built on the POSIX layer of the NT kernel. Cygwin has it’s own POSIX abstraction layer running on top of the win32 API. The built-in NT POSIX layer is at the same level as the win32 API, so by using it directly, SFU drastically cuts down on overhead and thus has better performance than Cygwin.
Thirdly, to install more software in SFU, you can either extract tarballs and do ./configure;make;make install; just like you would in Cygwin or anywhere else, but you can also use NetBSDs “pkgsrc” package, which gives you access to any package distributed with NetBSD (which is more than enough to satisfy my needs).
SFU also includes compiler wrappers to the VisualC++ compiler (which can be installed for free with the Visual C++ Toolkit).
I’ve used both quite a bit, and I’ve decided that SFU is better, hands down.
I’m sure you have, provided that you spout the same BS as I see from MS, giving lots of half truths.
Firstly, it’s free (as in beer) like Cygwin.
You forgot to say it is not free as in speech like Cygwin. Which is a HUGE drawback. First, it means SFU platform will never be recognised by the GNU tools, which destroys most of your arguments below.
SFU drastically cuts down on overhead and thus has better performance than Cygwin.
You forgot to say that thus SFU is full of major bugs, far more than Cygwin.
Like the NFS support, it’s so poor it is unusable in any corporate environment, it is not even suitable for home environment.
Thirdly, to install more software in SFU, you can either extract tarballs and do ./configure;make;make install; just like you would in Cygwin or anywhere else, but you can also use NetBSDs “pkgsrc” package, which gives you access to any package distributed with NetBSD (which is more than enough to satisfy my needs).
Which of course is false, because most useful GNU or other packages (you know, those that depend on configure) just won’t compile directly on SFU. Perhaps NetBSD is enough to satisfy your need, it is also very poor needs compared to what Cygwin offers.
An alternative to a Cygwin installation is XLiveCD which basically is Cygwin and X-server on a cd.
Get the ISO here:
http://xlivecd.indiana.edu/
Burn it on a disc and plug it in. Or mount it with Daemon-tools as I do 🙂
It doesn’t have everything from Cygwin but it has a lot of useful stuff such as SSH.
Cygwin fans do disservice to the FOSS community.
Well, it does to Windows too : each time I launch the Cygwin install to upgrade, I see the Win2000 box slow down to a crawl, with some regular 5 s time frame when it does not respond anymore (I’m doing it right now, typing in Wordpad is a pain).
The disservice is that lots of MS shills installs it, and then come bashing Linux and its apps, because they believe the crappy environment they then get (yes, Cygwin is powerful, but it is still crappy compared to the true thing) is equivalent to Linux on the desktop.
This article is a disservice too. Sure enough, Cygwin does not (because it can’t) provide the best of both platforms (Windows, Linux). KDE and Gnome are HEAVILY DEGRADED under these environment, they are nothing like the real thing, that needs special features from the Linux kernel to gain all their power. I bet most people complaining about GIMP use it in such an environment, for example. And then, Cygwin is SLOW compared to a true Linux environment, and finally, Cygwin means lots of command line (even to start X !!), which is just not true for a true Linux setup.
Ookaze
I want to concur with anonymous about MS SFU’s NFS support. It is a piece of SH*T. What a disaster. Do NOT use it under any circumstances, it varies between unusable and at best, sometimes usable. It’s terrible.