FreeBSD 8.0 で、Windows の chm ファイルを閲覧する方法
Windows の .chm 形式のファイルを、unix 系の OS で閲覧したいと思った。検索してみた結果、arCHMage というソフトウェアがあることがわかった。これを使えば、.chm 形式のファイルを、.html 形式のファイルに変換することができるようだ。
その使用方法と、設定方法
試しに、手元にあった windows.chm という名前のファイルを arCHMage で、html ファイルに変換してみよう。以下のように入力すれば、output というディレクトリが作成されて、そのディレクトリのなかに、いくつかの html ファイルが作成されるはずだ。
> archmage windows.chm output
だが、うまくいかなかった。実際に実行してみたところ、下のような結果になった。どうやら、arch.conf という設定用のファイルを、あらかじめ /etc/archmage/ ディレクトリに配置しておく必要があるようだ。
> archmage windows.chm output /usr/local/lib/python2.6/site-packages/archmod/Cached.py:14: DeprecationWarning: object.__new__() takes no parameters __instance = object.__new__(classtype, *args, **kwargs) Traceback (most recent call last): File "/usr/local/bin/archmage", line 169, inmain() File "/usr/local/bin/archmage", line 152, in main CHMFile(options.chmfile) or CHMDir(options.chmfile) File "/usr/local/lib/python2.6/site-packages/archmod/CHM.py", line 37, in __init__ execfile(archmod.config, self.__dict__) IOError: [Errno 2] No such file or directory: '/etc/archmage/arch.conf' >
探してみたところ、/usr/local/etc/archmage/ ディレクトリに、arch.conf というファイルがあることがわかった。では、この arch.conf ファイルをさっそく、/etc/archmage/ ディレクトリ上にコピーしてみよう。
ルートになったうえで、まず /etc/ ディレクトリ上に、archmage/ ディレクトリを作成する。
# mkdir /etc/archmage
おなじく、ルートのまま、さきほど見つけた /usr/local/etc/archmage/arch.conf ファイルを、いま作った /etc/archmage/ ディレクトリにコピー。
# cp -i /usr/local/etc/archmage/arch.conf /etc/archmage/arch.conf
このようにしてから、archmage を実行したところ、すべてうまくいった。一行、DeprecationWarning という警告らしきものは表示されているようだが。まああまり気にしないことにしよう。
> archmage windows.chm output /usr/local/lib/python2.6/site-packages/archmod/Cached.py:14: DeprecationWarning: object.__new__() takes no parameters __instance = object.__new__(classtype, *args, **kwargs) >
output ディレクトリに作成されたファイルは、すべて html になっている。なので、この html ファイルを Web ブラウザ搭載の携帯電話などにコピーしてあげると、外出先でも .chm ファイルが読めるようになって便利。
そのほかの閲覧ソフト
FreeBSD の ports のなかから、名前に "chm" が付くソフトをざっと抜き出してみただけでも、多分、以下のようなものが使えそう。
- /usr/ports/converters/chmview/
- /usr/ports/deskutils/chmsee/
- /usr/ports/deskutils/gnochm/
- /usr/ports/deskutils/kchm/
- /usr/ports/deskutils/kchmviewer/
- /usr/ports/deskutils/kchmviewer-kde4/
- /usr/ports/deskutils/xchm/