Background
Cygwin is a Linux-like environment for Windows which provides a Linux shell (bash) and various Linux utilities.
These notes detail the installation of the Cygwin 2.573.2.2 Net Installer.
Installation
The first screen upon launching the Cygwin installer, click Next
Defaults are fine, click Next
Default location is fine, click Next
Default location is fine, click Next (you may delete this directory after the installation has completed)
Unless you are behind a proxy, click Next
Pick a download site, click Next (I choose a nearby mirror at UMCP)
This is the screen where you pick what you want to install
I would keep the selected packages by default, adding other packages of interest, then click Next
At a minimum, to compile C programs you should additionally check the gcc-core package under Development. Other packages which may be of interest include:
- Archive
- unzip — ability to unpack .zip archives
- zip — ability to create .zip archives
- Devel
- ddd — graphical debugger (requires X server)
- gcc-g++ — C++ compiler
- gdb — text-based debugger
- indent — C/C++ indenter
- make — used to execute makefiles
- nasm — assembler
- subversion — a popular revision control system
- Editors
- emacs — text based Emacs
- nano — pico clone
- vim ‐ enhanced version of vi
- xemacs — graphical XEmacs (requires X server)
- Interpreters
- clisp — Lisp interpreter
- perl — Perl interpreter
- python — Python interpreter
- ruby — Ruby interpreter
- Net
- openssh — command line SSH client
- Shells
- bash-completion — improved command line completion
- tcsh — another shell (default on GL)
- X11
- xorg-x11-base — Cygwin's bundled X server
Once you've selected your packages, Cygwin will download and install each in turn
I usually leave at least the Start Menu option checked, to finish installation click Finish
Running Cygwin
Launch the Cygwin Bash Shell to start a Cygwin session
No you have a Linux-like shell which you can run commands from, etc. (the first time you run Cygwin you will notice the messages shown above, subsequent launches will not show these messages)
PuTTYcyg
One thing that annoys me is the non-standard window decorations. If you wish to fix that, take a look at PuTTYcyg — it extends PuTTy to allow it to open Cygwin sessions and does so with the normal PuTTy window decorations.