You can view .chm file using gnochm or kchmviewer under Linux. However sometime you cannot install these programs. There is a third alternative - arCHMage.
From the man page:
arCHMage is an extensible reader and decompiler for files in the CHM format. This is the format used by Microsoft HTML Help, and is also known as Compiled HTML. arCHMage is based on python-chm binding to chmlib from GnoCHM project.
It allows you extract .chm to directory.
Step # 1: Use apt-get command
If you are using Debian / Ubuntu, type the command:
# apt-get install archmage
Step # 2: Extract .chm to directory (directory will be created):
Type the command:
$ archmage file.chm output
Open your browser and type url file:///home/you/output or file:///home/you/output/index.html
Other usage
You can view chm file using inbuilt http-server.
View chm file using Webserver
You can run archmage as http-server, which will publish chm file contents on specified port:
# archmage -p 8888 /path/to/file.chm &
Open a browser and type ulr http://localhost:8888/ or http://server-ip:8888/
Force apache to publish chm files
You can force Apache to publish chm file contents if there is trailing slash in request to that file. First make sure you have working mod_python. Now open httpd.conf /apache2.conf file:
# vi httpd.conf
Add following lines to your httpd.conf:
AddHandler python-program .chm
PythonHandler archmod.mod_chm
Save and close the file. Restart apache.
# /etc/init.d/httpd restart
Now upload file.chm to document root of your Apache webserver. Now view file by typing URL: http://you.com/file.chm/
Note: trailing slash at the end of URL.
Download arCHMage
=> Download arCHMage
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins

- My 10 UNIX Command Line Mistakes
- 25 PHP Security Best Practices For Sys Admins
- The Novice Guide To Buying A Linux Laptop
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
Facebook it - Tweet it - Print it -
We're here to help you make the most of sysadmin work. So, subscribe!


{ 5 comments… read them below or add one }
If possible try to use a CHM view rather than viewing it this way. In most viewers, you can search through the text – which is the main advantage of CHM files.
gnochm works fine for me. debian lenny gnu/linux
Yay! Cool! Now I can read my CHMs in plaintext tty too! Elinks, lynx, w3m, conkeror. In any of my favorite browsers!
Thank you very much.
RewriteRule ^(.*\.chm)$ $1/ [R]
Adds the trailing slash automatically
Me da este error.
Traceback (most recent call last):
File “/usr/bin/archmage”, line 169, in
main()
File “/usr/bin/archmage”, line 165, in main
source.extract(options.output)
File “/usr/lib/pymodules/python2.7/archmod/CHM.py”, line 234, in extract
self.process_templates(destdir=destdir)
File “/usr/lib/pymodules/python2.7/archmod/CHM.py”, line 193, in process_templates
open(os.path.join(destdir, os.path.basename(template)), ‘w’).write(self.get_template(template))
File “/usr/lib/pymodules/python2.7/archmod/CHM.py”, line 188, in get_template
return re.sub(‘\’, self.sub_mytag, tpl)
File “/usr/lib/python2.7/re.py”, line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
File “/usr/lib/pymodules/python2.7/archmod/CHM.py”, line 179, in sub_mytag
res = eval(re.group(1))
File “”, line 1, in
NameError: name ‘deftopic’ is not defined