Skip to end of metadata
Go to start of metadata

Quick start

  • Run setup.exe from
  • Set your "Local package directory" to "S:\TempStorage\jelai\Zips\cygwin".
    • You can avoid re-downloading a package someone else has already downloaded (highly likely since many of us use cygwin).
    • Your newly downloaded packages will contribute to the shared "Local package directory".
    • In other words, be a good netizen.
  • The "base" install probably doesn't include everything you want. I recommend taking a look at "Devel" and "net" especially or use the packages already downloaded in the shared package directory.
    • Packages like openssh, openssl, make, gcc, lftp, wget, cvs, Xorg, python, perl are common amongst the developers.
    • Someone should figure out how to either (1) list these packages (2) figure out how to script an install
  • The rest of the wizard should be pretty self-explanatory.
  • You may need to play around with mkpasswd if your /etc/passwd doesn't look right.


Is there a program similar to the Unix tree program available?

The Unix tree program is not available as a standard Cygwin package, but can be built from source ( or installed from a 3rd party Cygwin packager, like Eric Lassauge's site at See
There is a program that works similarly to tree, called "d", that is available as part of the "d" package. Try something like d -c- -R -T for output similar to tree.

How do you find out what package a file is part of?

Try cygcheck, something like cygcheck -f /path/to/file.

How to set up cron?

Read /usr/share/doc/Cygwin/cron.README. Then run cron-config to start cron as a Windows service. I haven't gotten the regular user to work, so I run cron as the privileged user. The other defaults seem fine.

How to set up gvim?

  1. Download the Unix source for vim
  2. Make sure gtk 1.2, glib, and X11 are installed in cygwin
  3. ./configure --prefix=/usr/local --enable-gui=gtk
  4. make;make install
  5. /usr/X11R6/bin/startxwin.bat starts an X server with a tray icon; in many respects on cygwin better than messing with startx and xinitrc

man pages have ANSI escape codes

Try setting PAGER=less -R
Don't know why this happens, but the above works

Why does cywin start in /home/Administrator on Win2k?

mkpasswd -l > /etc/passwd (or just manually edit it)

vi doesn't work right, terminal settings

TERM=cygwin sucks, use linux, xterm, or ansi
UPDATE: actually the above advice is kind of misguided. TERM=cygwin simply identifies the terminal, it's up to the terminfo/termcap entry to properly tell stuff like editors how to behave when it encounters that terminal type. On Slackware the /etc/termcap-BSD file has an entry for cygwin (while the /etc/termcap that is used by default does not)

Miscellaneous Tips

Classpath hacking in .profile

  • c:\\cygwin\\home\\wangjn\\java\;c:
    java <-- ugly hack for classpath, escaping \ and ; for bash's sake
  • also can use $(cygpath -w ~/java) which will automatically translate unix paths into windows paths (otherwise the JVM seems to screw up, can anyone confirm this?

Ctrl-C kills ssh session

  • turn forward X11 off as a hack, no one knows why this happens yet

Installing on Win2k

  • installed and downloaded packages to c:\cygwin (about 400 MB total)
  • need to figure out how to update a previous install, all I've done so far is just install new; do I need to keep the old setup logs etc?
  • set up .cvsrc and .profile
  • ssh-keygen -t rsa, copy .ssh/config, chmod (should this go into ssh notes?)
  • None