How to implement a development machine under Windows XP

Visual Studio

Install as default along with the newest Visual Studio service pack. Make sure to register the environment variables when prompted to do so. This will enable you to compile from the command line.


Cygwin is a Unix implementation for Windows. It provides Windows with most Unix commands and a free X-server implementation as well. There are various install options, but I personally prefer the simple web-install.

Once installed you will have to include the binaries path (/bin) to your windows path to gain access to all Unix commands from your Command-Prompt.


I personally prefer the RXVT(provided optionally by Cygwin package) shell over the default Cygwin tsch shell. The main reason I donít use Command Prompt at this time is that RXVT is fully skinnable and I therefore have the option to make my shell transparent for example.

A possible RXVT task-bar launch command could loot like:

C:\Cygwin\bin\rxvt.exe -g 80x24+400+200 -bg #ffffff -fg #000055 -fn "Courier-12" -sr -sl 5000 -vb -e bash

A possible Command Prompt task-bar launch command could loot like:

%SystemRoot%\system32\cmd.exe /k cd c:\ & doskey /MACROFILE=c:\doskey_menu.txt

This enables you to create aliases for Windows in the doskey_menu.txt file. They should be in the form =

GhostScript / GSView

Simply follow the installation instructions found at www.cs.wisc.edu/~ghost/.


This powerful editor can be installed in 2 ways: Either windows standalone or implemented through Cygwin. I personally chose the former. The installer for the Windows version can be found here.

Setting up SSH

In your home directory create the directory .ssh. To create the necessary ssh keys cd into the newly created directory and execute

ssh-keygen Ėt rsa (the other keys are dsa and rsa1)

When prompted for filename and key phrase, leave blank. We have just generated the local keys. Next, we install the authorized keys as follows:

cat id_rsa.pub >>authorized_keys2 (for ssh2)

cat identity.pub>>authorized_keys (for ssh1)

Finally, change the permission for the .ssh directory in order to protect the privacy of your keys.

chmod 700 ~/.ssh

Any remote public key which is authorized as described above enables you to log into that machine passwordless.

If you chose you can also implement a SSH server on your machine. This will enable you to log into your machine from anywhere via any x-terminal. Before you can set up the server make sure that both the OpenSSH and cygrunsrv packages are installed in cygwin.

Next, add a system environment variable CYGWIN=ntsec tty. All there is left to do now is run the configuration script:


Implement the server as a service and when prompted for the value of CYGWIN complete as set above. You are now ready to start/stop the server(service):

cygrunsrv --start(stop) sshd

X-Server implementation

Once Cygwin is fully installed we have a full implementation of a X-Server for our windows platform. Since Cygwin doesn't allow just anyone to connect to the X-server, add the following (i.e create if necessary) to your ~/.ssh/config file

ForwardX11 = yes

Next, we want to make sure the paths are included in the main Windows path. We can add C: \cygwin\usr\X11R6\bin to our PATH by right-clicking "My Computer" -> Properties ->Advanced->"Environment Variables"

Now, we need to decide on a useful window manager. I prefer to use IceWM over the default twm. You can find all necessary files and instructions here. Fortunately, there are various themes available for "dressing up" IceWM. Themes can be found here and should be placed in your themes folder (i.e. /usr/local/lib/X11/icewm/themes). Various other window managers implemented under Cygwin can be found here.

To make IceWM your default window manager when starting X, replace the following in C:\bin\cygwin\usr\X11R6\bin\startxwin.bat:

"run twm" -> "run icewm"

"start XWin" -> "start XWin rootless"

The latter will start the X-server in rootless mode, i.e. it will not run in a separate window.

Finally, create a taskbar shortcut


XTerm configuration

Even though I elected to use RXVT this section will apply to all Xterm programs run both in the windows and X-window environment.

To override and create your own useful title bar the following can be included in your shell profiles. This implementation will show the users name and location:

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'