Working from Home
Tools and Technologies for Improving Your Programming Environment
Home › Cygwin

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

Cygwin Setup

The first screen upon launching the Cygwin installer, click Next

Choose Installation Type

Defaults are fine, click Next

Choose Installation Directory

Default location is fine, click Next

Select Local Package Directory

Default location is fine, click Next (you may delete this directory after the installation has completed)

Select Connection Type

Unless you are behind a proxy, click Next

Choose Download Sites

Pick a download site, click Next (I choose a nearby mirror at UMCP)

Select Packages

This is the screen where you pick what you want to install

Select Packages

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
Installation Progress

Once you've selected your packages, Cygwin will download and install each in turn

Installation Status and Create Icons

I usually leave at least the Start Menu option checked, to finish installation click Finish

Running Cygwin

Start \ Programs \ Cygwin \ Cygwin Bash Shell

Launch the Cygwin Bash Shell to start a Cygwin session

Cygwin Shell

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.

Additional Resources