Jackson I/O
Microsoft® Windows®

If you must use Microsoft® Windows®, or (gasp!) prefer to use Windows, you can at least have some good tools to make it less difficult to work with.  I have written separately about why I don't like Windows and why I prefer GNU/Linux, but all that is irrelevant on this page.  Here I seek to make Windows usable and solve problems.


The Cygwin environment is free software for Windows that gives a great deal of GNU/Linux capability and compatibility, yet the PC is still fully under the control of Windows.

I install Cygwin on every Windows PC that I use, if I can, and I recommend that everyone do the same.  It does not interfere with or affect any non-Cygwin software that Windows runs.  It is installed by downloading the Cygwin installation setup.exe file and running it.  There are lots of options about which packages to install, which will be downloaded automatically as needed.

Cygwin performs it's GNU/Linux-like magic with the help of a single huge DLL file, cygwin1.dll, which it installs and requires.  This DLL provides a compatibility layer between Cygwin applications and the Windows system.

There are usually a number of screenshots of Windows PCs running Cygwin, some of them running the optional graphical X interface, on the Technorati Cygwin photos page.

Wikipedia has a Cygwin page that gives a good synopsis from a third-party viewpoint.

Tip: CYGWIN environment variable
If you do much work in a bash shell, especially if you use the emacs editor, you will need to set the CYGWIN environment variable to tty.  It must be set before the shell is started, so set it like this:
Start -> Run... -> enter sysdm.cpl -> OK -> Advanced -> Environment Variables -> New (either)
Enter name CYGWIN.  Enter value tty.  Click OK OK OK.
You can also add other options separated by spaces.  Cygwin documents a list of options and explanations.


MinGW The name MinGW or MinGW32 is derived from Minimalist GNU for Windows.  MinGW has a purpose similar to Cygwin but has a lighter weight impact.  That is, there is no special DLL file needed for a compatibility layer.  MinGW applications only require DLLs which are part of Windows.

The main MinGW website may not be updated regularly, however downloads are kept up-to-date on the MinGW SourceForge project page.

MinGW also offers great value to developers.  The development resources provided by this project make it possible to develop native Windows applications using the GCC compiler, the preferred compiler in the world of free and open source software.  Best of all, GCC can be compiled as a cross-compiler from other platforms, especially GNU/Linux, and used to develop Windows applications without even using Windows.

Alternate Desktops
Emerge Desktop

Emerge Desktop is a replacement windows "shell" (the desktop environment normally provided by Windows Explorer) for Windows 2000 and above.  This is free software, licensed under GPLv3.


Blackbox 4 Windows dispenses with many of the graphical features which are a staple of the Windows model.  There are no icons in Blackbox menus and you can't drag menu items to reposition them.  A Blackbox environment generally appears spartan and minimalistic compared to a normal Windows interface.  There are also 5 forked versions or variations available and referenced in the wiki.

KDE Desktop

The KDE Windows Project is not actually a replacement shell, but a collection of KDE applications that are being ported to Windows 2000/XP/2003.  This is free software, but it is still in development and is not yet stable enough for everyday use.  Hopefully it will eventually result in a KDE desktop on Windows.

Cairo Desktop

The Cairo Desktop is free but not free software (you can use it for free with restrictions).  It's now available as alpha software.  (The other website seems to be down.)

Aston Desktop

Aston is a commercial product, not free software, although there is a 30-day trial version available for download at no cost.  It is another windows "shell" that replaces the standard Windows Desktop for Windows 98/2000/XP/Vista.


VirtuaWin is a virtual desktop manager (not a replacement shell).  This brings to windows the multiple virtual desktops that have been standard on Linux desktops for years.  It's free software.


Many sites have free software compiled for Windows, usually using MinGW resources.  Here are some of them.

Note that none of these are needed if Cygwin is installed.

The GnuWin32 SourceForge site maintains about 160 software packages which include invaluable utilities (grep, diff, file, less, sed, crypt, which), archival tools (bzip2, tar, cpio, lha, unrar, unzip, zip), image manipulation (netpbm, tiff, jpeg, gif2png, plotutils, xpm) and more.

D.J. Delorie has long offered the djgpp development system.

The UWIN package is another development environment that supports several compilers.

GNU utilities for WIN32 is a group of the most common command-line tools compiled for Windows.  This hasn't been updated in several years, but it still may be all that's needed--in one easy zip file.

Microsoft offers the Windows Services for UNIX software.

Clam AntiVirus (ClamAV) can be installed under Cygwin, but a non-Cygwin version is also available: ClamAV for Windows.

GNU Emacs

Emacs is the extensible, customizable, self-documenting real-time display editor.  It is my editor of choice for general text editing and software development.  I started using NTEmacs back when I was using Windows 9x, and now I use standard Emacs on GNU/Linux that behaves essentially identically more than ten years later.  It's very nice to have a solid editor that doesn't constantly change with every marketing whim of some big company.

The GNU Project maintains a Windows port of Emacs, and a FAQ .  The original NTEmacs port was hosted by The University of Washington, but old links to that project are redirected to this one.

There is also a SourceForge project for NTEmacs, which is built from the Emacs CVS repository, though it is not an official distribution.


Silent Runners is a helpful website, especially the information contained on the Launch Points page.  There you can find a list of the Windows registry keys which can be used by installed software, including spyware and malware, to get started automatically.

Security under Windows is a huge topic, but this is just a brief note on one item.

Site Navigation
External Links:
Open Source

Get Firefox! Get GNU/Linux Validate XHTML 1.0 Strict Validate CSS Speakeasy Speed Test Linux Forums Wikipedia Project Honey Pot Morningstar Corporation ohloh software stack

These dummy email addresses are for harvesters, but they should be invisible to browsers.
Several dummy email addresses that bounce back.

Creative Commons License This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License Attribute to the URL or http://jackson.io/. nevermind

Modified Jul 31, 2011