Windows XP is truly a horrid desktop OS, particularly if you’re a programmer. The default install contains roughly nothing useful, and even getting a development environment going requires grabbing the likes of cygwin, Visual Studio, and a zillion patches from Microsoft.
The truly dispiriting thing, though, is how badly cmd.exe still sucks. I fully admit that my personal programming proclivities are not normal, but to be reasonably productive I need a Unix-like shell, a terminal that works (can be resized, has reasonable VT100 emulation, etc.), and the ability to fix the “Caps Lock” key to do the right thing – namely, have it fire the “Ctrl” key instead. This is all relatively straightforward to do on Linux and OS X. Here’s how I got it done with Windows:
Do the MSFT Patch Dance
Make coffee?
Install Cygwin
We’ve all done it a thousand times. This’ll make 1001. It’s kind of comforting that the Cygwin home page hasn’t changed perceptibly in nearly a decade.
Get SharpKeys
Instead of fugly registry hacks, SharpKeys allows you to map the dreaded and useless “Caps Lock” key to something actually useful. If your key-mapping preferences swing some other way, SharpKeys can likely handle that too. Not sure why it’s not built into Windows, frankly.
Set Up Puttycyg
Having cygwin is nice, but having a terrible shell with Cygwin? Not so nice. Enter Puttycyg, a small hack on the venerable Putty SSH client for windows that provides an option to launch a local Cygwin session in lieu of connecting to another system.
Once I extracted it and ensured the Puttycyg directory was in my windows PATH, I created a desktop shortcut to the putty.exe
included in the distribution and configured the shortcut (right-click) to read:
"C:\Documents and Settings\slightlyoff\Desktop\puttycyg\putty.exe" -cygterm -
And then set the “Shortcut key:” to be:
Ctrl + Alt + T
Now, whenever I want a fully functional shell from my desktop, I just hit that key combination and it All Works (TM).
6 Comments
If you like SharpKeys, have a look at AutoHotkey, with which you can basically everything you’d like for mapping and simulation mouse and key input. http://autohotkey.com
Use the cygwin stand alone rxvt client for your shell work. It gives you the equivalent of a nice xterm for your shell without needing any kind of other X windows (cygwin-X or otherwise) installed. You’ll have to specifically choose it in the cygwin installer but its just one exe basically.
You could try UnxUtils from http://unxutils.sourceforge.net/ (port of popular *nix utils like ls, grep, wget, etc) plus Console 2 from http://sourceforge.net/projects/console/ (can be bringed up by shortcut key, tabbed, provide to run different shells including zsh, resizable, etc)
Maybe this bundle could be enough for you and could replace Cygwin. At least it does for me ;)
Thanks everyone!
Console2 really does rock, and combined with the Consolas font (which you can get by installing this: http://www.microsoft.com/downloads/details.aspx?FamilyId=941B3470-3AE9-4AEE-8F43-C6BB74CD1466&displaylang=en) it works very well. Almost doesn’t make me miss Terminal.app.
Regards
2 things windows/XP gives you cant get elsewhere: TortoiseSVN (svn gui), and BeyondCompare (visual folder/ftp/file diff tool). I bought XP and keep a vm open just for these.
Also, shift+f10 gives you a keyboard “right-click” which makes the file explorer bearable, powerful even.
I’ve found that the only cure for windows blues is to make absolutely everything I would ever want accessible in my path. From there, everything is windows key – r away. Vim and cygputty in particular!
I do like cygputty but I find theres some things that dont work quite right in it.