Finally got Cygwin working. The biggest obstacle I overcame was figuring out where my $HOME directory should go. I wanted it to go to my regular WinXP home. But whenver Cygwin started, it wanted to set the $HOME to /usr/bin"C:\" and would then error out and start me in /etc/skel. This wasn't a huge deal for me because I would normally start the X server and use PuTTY to log in. Then, I'd set the DISPLAY to point back to my laptop's IP address and away I would go.
Well, after doing some research I found out that pointing to your laptop's IP address isn't safe. In fact, it's not safe at all. This makes complete sense. But I was (and still am) confident that the fact that since I was using SSH to begin with would not compromise any sensitive data (passwords and such).
Being a guy who likes to follow the rules, I decided I should go the safe route. This would be a combo of Cygwin, OpenSSH and X. The goal was simple: Start X Windows then log in to the server via an 'ssh -Y me@theserver'. To do that, I needed to set up a .ssh directory in my $HOME directory which meant overcoming the problem I was having with Cygwin wanting to set $HOME to /usr/bin"C:\". The search for a solution began.
First, I screwed around with /etc/passwd to see why $HOME was being set as such. After a few minutes, it became clear that it wasn't the problem.
Next I tried Google. There were a few promising leads, but no real solution yet.
Finally, I turned to the venerable USENET (which for me means going to groups.google.com). A quick search again didn't give me any real answers so I posted my dilemma to comp.unix.shell and comp.arch.embedded. I was underwhelmed with the responses I received. Except for one.
Someone suggested I set my Windows %HOME% to %USERPROFILE% at the system level. That's when I realized my %HOME% variable (which Cygwin uses to set its $HOME) was quoted and that the quotes were causing my $HOME to not be set right. I removed the quotes and viola!!! I was in business!
After some additional tinkering, I got X running correctly and safely. The moral of the story is that USENET is still useful. It only takes one right answer or suggestion to solve your problem. I'll be using it in the future.