cygwin is a downloadable Unix like shell that runs under Windows. It sounds great, but I find it has some serious limitations and I don't as such recommend using it. in order to run the vsclib cell characterisation, you need an environment that will accept and run Unix scripts, and I don't know any other than cygwin. But since I have a dual boot machine Suse 8.2 Linux and Windows XP, I prefer to limit my use of Windows XP to pure Windows tasks, and when I need to do Unix stuff, I boot up Linux. It takes time, but runs much better than doing the same thing on cygwin.
I have found the following problems with cygwin as it installed from the download.
- Command line completion isn't enabled. The is the ability to complete directory and file names once you have typed in enough of an identifying string. In my Linux, hitting the TAB key will enable it. In cygwin it doesn't. For example, typing
$ cd /c/home/library/magic/spice_vsclib013 can be reduced with command completion to something like
$ cd /c/ho<TAB>/li<TAB>/ma<TAB>/sp<TAB>
which reduces the number of keystrokes from 40 to 18. This reduction in the number of keystrokes to get where you want to go is the main advantage of command completion. The other advantage is avoiding fatuous typing errors. Not having it enabled is a real pain for using a Unix interface. You will find yourself often preferring the clicky Windows interface to access a directory rather than typing full addresses without command completion.
- The rm command deletes without an interactive query and without simply moving the item to a Trash directory. This is classic Unix behaviour, but most Unix computers have mapped rm to an interactive form. If you made a mistake, then you are asked to confirm the deletion. Windows is actually better here because a delete simply moves the item to a Trash directory. To really delete it, you need to go into the Trash and delete it a second time. A much more secure process. I have frequently gone into Trash to retrieve items. The cygwin default implementation of rm is extremely dangerous.
- The Unix shells seem to be modified DOS windows, and you can't choose the font you would like. In Suse Linux, you can choose from the whole range of installed fonts.
- It seems the complete range of Unix commands isn't installed. For example, more isn't enabled on the cygwin I downloaded. I don't know why a crippled Unix implementation is provided.
I suppose (most of) these things could be fixed, but since I have a dual boot machine anyway, I query why I would bother to spend time hacking cygwin instead of just booting to Linux.