The .chm file type is a “Microsoft Compressed HTML Help” file in a proprietary format for online help files. Linux and UNIX generally don’t come with native .chm support, but the functionality can easily be added. There are a number of solutions available, which I’ll outline below:
chm conversion
One option is to simply convert the .chm file to a more usable format, like .pdf. Most Linux distributions will come with a native .pdf viewer so conversion will allow you to use an existing application to view the information included in a .chm file. The most common conversion utility is chm2pdf
. To install this application, use your favorite package manager, as shown below:
Ubuntu / Debian
sudo apt-get install chm2pdf
Fedora / CentOS
sudo yum install chm2pdf
The basic syntax for this utility is chm2pdf input_file output_file
GNOME .chm viewers
Another option is to install a native GNOME application to view .chm files. There are two such options, one is the gnochm
utility and the other is chmsee
. To install one of these applications, use your favorite package manager, as shown below:
Ubuntu / Debian
sudo apt-get install gnochm
sudo apt-get install chmsee
Fedora / CentOS
sudo yum install gnochm
sudo yum install chmsee
I have had much better luck with the second, chmsee
. The gnochm
utility crashes on me randomly, where chmsee
has been very reliable.
KDE .chm viewers
There are a few options for KDE users as well. One option is to install a new application, and another is to use a plugin for Okular. I’ll outline each below.
First, you can try the utility kchmviewer
. This is a native KDE application to open and view .chm files.
Second, you can add extra functionality to your existing viewer, Okular. You can install either of these using your preferred package manager, as shown below:
Ubuntu / Debian
sudo apt-get install kchmviewer
sudo apt-get install okular-extra-backends
Fedora / CentOS
sudo yum install kchmviewer
sudo yum install okular-extra-backends
Generic X viewers
For those looking for something a little more desktop-environment-agnostic, you might want to try xchm
. This can be installed using the same methods outlined above:
Ubuntu / Debian
sudo apt-get install xchm
Fedora / CentOS
sudo yum install xchm
Conclusion
As a GNOME user I have had the best luck with chmsee
. It feels very native and all of the .chm files I have opened are very well formatted. Navigation is easy, font style and size are easily readable as well.
I’d be interested in hearing what other options are out there. While it isn’t everyday that Linux users run into .chm files, when we do it is nice to have good solutions available.
Ubuntu / Debian
sudo apt-get install chm2pdf
Please reply here. How do I make it run after I install it. Please give step by step instruction. Using ubuntu and firefox.
In your Terminal run:
man chm2pdf
In ubuntu okular-extra-backends does not have chm libraries So no, you cannot read chm using okular in ubuntu/kubuntu A bug has been filed https://bugs.launchpad.net/ubuntu/+source/kdegraphics/+bug/693892
I manually copy the required backend from debian/fedora
I might put it up in a ppa someday if someone wants it
What is the best commandline conversion tool in Centos Linux?
Please note that there are quite number of Linux books in *chm format.