How do you go about reading CHM files on Linux? Luckily, a few CHM readers are available. If you have Qt/KDE installed, you can go for KchmViewer. If you are a Gnome fan, you can compile Gnochm. There is also XCHM but it is a pain to compile (because of so many missing libraries and third-party packages whose functionalities it uses). I could not get KchmViewer to run because I don’t have Qt-3.3 (I am still using KDE-3.1). Gnochm compiled successfully, but refuses to run due to missing Python modules that provide an interface to Gnome’s GConf (compiling which is a fuss in and of itself). I played with XCHM once. I think it will suffice to say I did not get anywhere with it.
Am I even reading CHM files on Linux? Hell yea! What am I using, if the above didn’t work for me? Archmage! It is a wonderful tool to convert CHM files into HTML. Additionally, it can listen on a port for requests and serve the CHM file in HTML, and also provide an AddHandler for Apache to make it recognise and display CHM files. Isn’t that cool, now? The only packages and libraries required for archmage to run are PyCHM and chmlib, which, unlike any of the three CHM viewers mentioned earlier, are a breeze to compile and set up.