Originally posted on my blog.
God Damn I Hate Cygwin
First of all, let's get the rant out of the way. Cygwin is a big pile of junk. It's like everyone who touches Cygwin gets the clue beaten out of them before they're allowed to hack on it. Here's a tip guys, if you're going to try to do something really hard (like build a POSIX compatible software layer on top of an operating system that holds many parts of the POSIX standard as the anti-thesis of its design) you have to put a lot of effort into it. Ok, done.
I recently had this problem when starting X:
Fatal server error: could not open default font 'fixed'for which I googled, lots and lots and lots and found no adequate solution. I found the Cygwin/X Frequently Asked Questions and it had two suggests as to what the problem could be:
Well, turns out what they are trying to say is that you need to make a mount point for /usr/X11R6/lib/X11/fonts. The problem is that stupid "do you want to use unix mode or text mode?" option at the start of the cygwin installer. Probably 50% of people choose unix mode, then discover something doesn't work (like, say, scripts that have been checked into a repository by someone who chose textmode) and then quickly change to textmode. If you are using textmode for /. then you will have this problem. Here's how to fix it:
foo@mymachine ~ $ cd /usr/X11R6/lib/X11 foo@mymachine /usr/X11R6/lib/X11 $ mv fonts fonts_real foo@mymachine /usr/X11R6/lib/X11 $ mount -b c:\\cygwin\\usr\\X11R6\\lib\\X11\\fonts_real /usr/X11R6/lib/X11/fontsYour fonts dir should now be mounted in "binmode". But that's not all! You need to edit /usr/X11R6/bin/font-update and look for a need_update="", between those quotes, put a 1. Now do:
foo@mymachine ~ $ /usr/X11R6/bin/font-updateand don't forget to edit /usr/X11R6/bin/font-update and take the 1 out of those quotes.