I recently had this problem:
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:
- You don't actually have the xorg-x11-fnts package installed (duh, thanks guys, yeah, that wasn't the first thing I checked).
- The mount point for /usr/X11R6/lib/X11/fonts was invalid at the time that Cygwin's setup.exe installed the xorg-x11-fnts package.
This advice is, of course, absolutely useless. What mount point are you talking about guys? In what way could it be "invalid"? Why would have I have to manually fuck around with this stuff anyways? My /usr/X11R6/lib/X11/fonts happens to be mounted on /, which is mounted to c:\cygwin.. ya know, like everyone else who uses cygwin. What the hell are you guys on about?
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/fonts
Your 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-update
and don't forget to edit /usr/X11R6/bin/font-update and take the 1 out of those quotes.
If you are a Cygwin/X developer, please, please, please add a mount command to the installer! We shouldn't have to do this shit manually!