If you do: find /usr/share/X11 -name fonts.dir -exec rm -f {} \; service xfs restart X does *not* start correctly, due to an inability to find fonts. This appears to be because the sed in the script doesn't catch all font dirs: $ chkfontpath --list Current directories in font path: 1: /usr/X11R6/lib/X11/fonts/korean 2: /usr/share/X11/fonts/misc:unscaled 3: /usr/share/X11/fonts/75dpi:unscaled 4: /usr/share/X11/fonts/100dpi:unscaled 5: /usr/X11R6/lib/X11/fonts/misc 6: /usr/share/X11/fonts/Type1 7: /usr/X11R6/lib/X11/fonts/cyrillic 8: /usr/X11R6/lib/X11/fonts/TTF 9: /usr/X11R6/lib/X11/fonts/OTF 10: /usr/share/fonts/default/Type1 11: /usr/share/fonts/ISO8859-2/misc:unscaled 12: /usr/share/fonts/ISO8859-2/misc 13: /usr/share/fonts/KOI8-R/misc:unscaled 14: /usr/share/fonts/KOI8-R/100dpi:unscaled 15: /usr/share/fonts/KOI8-R/misc 16: /usr/share/fonts/KOI8-R/100dpi 17: /usr/share/fonts/tv-fonts 18: /usr/share/AbiSuite/fonts 19: /usr/lib/openoffice/share/fonts/truetype 20: /usr/share/fonts/korean/misc:unscaled 21: /usr/share/fonts/korean/misc 22: /usr/share/fonts/korean/TrueType 23: /usr/share/fonts/japanese/misc:unscaled 24: /usr/share/fonts/japanese/misc 25: /usr/share/fonts/japanese/TrueType 26: /usr/share/fonts/chinese/misc:unscaled 27: /usr/share/fonts/chinese/misc 28: /usr/share/fonts/chinese/TrueType 29: /usr/share/X11/fonts/misc:unscaled 30: /usr/share/X11/fonts/OTF 31: /usr/share/X11/fonts/TTF As used in xfs.init: $ /usr/sbin/chkfontpath --list | sed -e '/^Current/d;s#^[0-9]*: ##g;s#^/.*:[a-z]*$##g;/^[[:space:]]*$/d' | sort | uniq /usr/lib/openoffice/share/fonts/truetype /usr/share/AbiSuite/fonts /usr/share/fonts/chinese/misc /usr/share/fonts/chinese/TrueType /usr/share/fonts/default/Type1 /usr/share/fonts/ISO8859-2/misc /usr/share/fonts/japanese/misc /usr/share/fonts/japanese/TrueType /usr/share/fonts/KOI8-R/100dpi /usr/share/fonts/KOI8-R/misc /usr/share/fonts/korean/misc /usr/share/fonts/korean/TrueType /usr/share/fonts/tv-fonts /usr/share/X11/fonts/OTF /usr/share/X11/fonts/TTF /usr/share/X11/fonts/Type1 /usr/X11R6/lib/X11/fonts/cyrillic /usr/X11R6/lib/X11/fonts/korean /usr/X11R6/lib/X11/fonts/misc /usr/X11R6/lib/X11/fonts/OTF /usr/X11R6/lib/X11/fonts/TTF Notably missing: /usr/share/X11/fonts/100dpi /usr/share/X11/fonts/75dpi /usr/share/X11/fonts/misc Perhaps you want something like: $ chkfontpath --list | awk -F ':' '/^[0-9]+/ { print $2 }' | sort -u ?
Hmm, indeed the code doesn't seem to take into account attribute flags. Added to FC5Blocker, as nonworking fonts seem serious enough to be a higher priority to fix.
* Thu Feb 9 2006 Mike A. Harris <mharris> 1:1.0.1-2 - Removed invocation of fc-cache from xfs initscript for bug (#179362) - Redirect stderr to /dev/null to squelch an unwanted error xfs.init (#155349) - Replace "s#^/.*:[a-z]*$##g" with "s#:unscaled$##g" in xfs.init for (#179491) I'm not sure what the thinking was originally behind the substitute operator here, but it was flawed logic. The replacement should do the right thing with otherwise minimal impact/risk to the script. I've tested it locally and it seems to work ok (both at the commandline and in script). Please test also, and report back results. TIA
Yep, seems to work in brief testing.