Updated: June 1, 2009
CHM stands for Microsoft Compiled HTML files. This is a proprietary format that is used on Microsoft Windows to bundle multiple HTML (help) files into a single e-book style document, so that users can comfortably browse the content rather than getting lost in tens or even hundreds of separate documents.
The effort is benevolent, but somewhat redundant considering the same can be achieved using PDF, which makes more sense cross-platform. However, Microsoft have never been known for great compliance with cross-platform standards, which leaves Linux users, who might need to take a look at a collection of their CHM files, in a bit of a spot.
Truth to be told, the chances of having to use CHM files on Linux are rather slim, but it does not hurt to have that ability, even if it never gets used. This is particularly true for people dual-booting Windows and Linux.
Luckily, the solution is very simple: xCHM. Follow me for a quick tutorial. P.S. I'll be using screenshots from several hosts, so don't get confused by colors.
I've first come across xCHM when I tested a lovely distro called PCLinuxOS 2009.1. It came with this application bundled, a most commendable effort.
If you happen to be using a distribution that does not have xCHM installed by default, you'll have to look for it in the repositories. Luckily, major distros have xCHM included, so the installation is a quick affair:
Once the application is installed, locate a convenient .chm file for testing. In my case, I grabbed the help file for the Windows Sysinternals autoruns utility.
Right-click and choose to open with xCHM:
And another screenshot:
There really can't be a big conclusion after such a simple, short tutorial, but the point is: you can also enjoy .chm content on Linux. No need to throw away potentially valuable files or spend hours trying to convert them. xCHM will do the job for you.
Another related article you might want to take a look at is how to open .mht files in Firefox on Linux.