これはスタンドアローンのユーティリティとしても使えますが、主な目的は、 ユーザーが man ページを lynx(1), xmosaic(1), netscape(1) などの html ブラウザを用いて見ることができるようにするための補助をする ことです。
man2html の主要部は Richard Verhoeven (rcb5@win.tue.nl) によって書かれた troff-to-html エンジンです。これは以下のような形式のハイパーリンクを付 加します。
foo(3x) | "/cgi-bin/man/man2html?3x+foo" |
method://string | "method://string" |
www.host.name | "http://www.host.name" |
ftp.host.name | "ftp://ftp.host.name" |
name@host | "mailto:name@host" |
<string.h> | "file:/usr/include/string.h" |
(上に列挙したものの内、最初のものについてはオプションによって調整できます - 以下の記述を参照のこと) リンク先の確認は行われず、リンク先が存在していなくてもリンク行が生成 されます。文書内部での、セクションなどへのハイパーリンクも生成されます。 したがって bash(1) などの大きな man ページで必要な部分を探すのが楽になります。
-E オプションを用いると cgi スクリプトから簡単にエラーメッセージを生 成することができます。
参照先が man ページであるハイパーリンクは、一般に以下のような形式で生成 されます。 (訳注: method は、URL スキームを指します。以下ではメソッドと呼びます。)
デフォルトは上記 foo(3x) で示した通りですが、ハイパーリンクの各部は 各種オプションを用いることでいろいろ設定できます。
httpd が稼働していないマシンでは、lynxcgi メソッドを使用すると、 lynx で man ページを閲覧することができます。 http デーモンが稼動している場合は、http メソッドを使えば、 lynx でも他のブラウザでも man ページの閲覧が可能です。 オプション -l (`lynxcgi' の意味) は前者の動作を選択します。 その場合、デフォルトの cgipath は /home/httpd になります。
一般には cgi スクリプトは
のようなかたちで呼ぶことができます。 環境変数 PATH_INFO と QUERY_STRING がそれぞれ <more_path> と <query> に設定されます。 lynxcgi は PATH_INFO 部分を扱うことができないので、デ フォルトでは `?' をセパレーターとするハイパーリンクを生成することにし ました。オプション `-p' (`path' の意味) は '/' をセパレーターにします。 一方 `-q' (`query' の意味) は '?' をセパレーターにします。
オプション -H host は (localhost の代わりに) 用いるホスト を指定します。環境変数 SERVER_NAME が設定されていれば、 cgi スクリプ トから
のように用いることができます。これによって、お使いのマシンを、man ページを 提供するサーバーのように動作させることができます。