Ubuntu Weekly Recipe

第145回 manのさまざまな使い方

この記事を読むのに必要な時間:およそ 3 分

マニュアルの全文検索

swish++というドキュメント検索システムを利用することで,man2htmlのページからマニュアルの全文検索を行うことが可能です。デフォルトの検索ボックスではマニュアル名でしか検索を行うことができませんが,swish++を使えば「特定のキーワードを含むマニュアル」をすべてピックアップできるようになります。そのためにはまずswish++パッケージをインストールしてください。

$ sudo apt-get install swish++

swish++をインストールしただけでは,正しくマニュアルを検索することはできません。この手のソフトウェアのお約束として,まず事前に検索用のインデックスを作成しておく必要があります。インデックスの更新を行う処理がman2htmlパッケージ側に用意されていますので,これを使用することにしましょう。

また,マニュアルの検索用インデックスを作成するスクリプトは /etc/cron.weekly/man2html で,CRONによって週次処理されるようになっています。インストールした直後はこのスクリプトを手動でキックすることでも,インデックスを構築することが可能です。

図5 swish++を使えばこのように,任意のキーワードで全マニュアルから検索を行えます。

図5 swish++を使えばこのように,任意のキーワードで全マニュアルから検索を行えます。

マニュアルをPDF化する

あまり知られていないかもしれませんが,manコマンドには'-t'というオプションがあります。これはマニュアルをtroffやgroffのデフォルト出力フォーマット(デフォルトではps)に整形して出力するオプションです。psで出力できるということは,ps2hogeコマンドにつなぐことで,任意のドキュメントとして出力させることができます。たとえばps2pdfコマンドを使用すれば,マニュアルをPDFにすることができます。

manの出力をPDFにする

$ man -t bash | ps2pdf - bash.pdf

画面上で端末とマニュアルのウィンドウを切り替えながら作業するのは効率が悪いので,マニュアルを印刷して手元に置いてしまうという人も多いでしょう。PDFにしておけば,きれいに印刷することも簡単ですね。しかし印刷した文字は電源がいらないというメリットはあるものの,検索することができないという問題もあります。

そこで,PDFのマニュアルをあえて手元のタブレット端末で読んでみるというのもアリかもしれません。PDFはiPadや電子書籍リーダに転送して読むことも可能ですし,特にiPadならば拡大縮小,ページ送りも快適です。

図6 manをPDF化してAdobe Readerで開いてみた。このまま印刷しても十分見やすい

図6 manをPDF化してAdobe Readerで開いてみた。このまま印刷しても十分見やすい

図7 PDFをiPadで表示してみた。スムーズに表示できるため,意外と読みやすい

図7 PDFをiPadで表示してみました。スムーズに表示できるため,意外と読みやすい

Kindleでマニュアルを読む

さて,Amazonが展開している電子書籍リーダにKindleがあります。KindleもPDFファイルを直接読むことが可能ですが,iPadのようにスムーズな拡大縮小はできず,またPDFは拡大した際に文字をリフローしてくれるわけではないため,左右スクロールが発生して非常に読みづらいのが正直な感想です。そこで,Kindleで使える電子書籍フォーマットの使用を検討してみましょう。

manコマンドには'-t'とよく似たオプションに'-T'があります。-Tオプションではデフォルトでpsが指定されているgroffの出力を,任意のデバイスに変更することができます。これを用いることで,マニュアルをHTMLに変換することが可能です注2⁠。

注2
man2htmlコマンドもその名のとおり,manをHTMLに変換できます。しかし前述のとおりApacheなども同時にインストールされてしまうため,HTMLへの変換だけが行いたいのならば-Tオプションを使うのがお手軽でしょう。

AmazonはKindle向けに,opfやepub,htmlからmobi(mobipocket)形式に変換するプログラムであるkindlegenを公開しています。つまりmanコマンドでいったんHTMLファイルに書き出し,これをkindlegenに食わせることで,Kindleで読むのに適したマニュアルを作ることができるというわけです。

kindlegenはバイナリで配布されていますので,ダウンロードしたtarを展開してkindlegenをパス指定して起動しましょう。変換元のHTMLファイルを引数として渡せば,自動的に同名の.mobiファイルを書き出してくれます。

manをHTMLに書き出し,Kindle向けに変換する

$ man -Thtml bash > bash.html
$ ~/bin/kindlegen bash.html

図8 Kindle3でマニュアルを表示させてみた。さすが電子書籍端末だけあって,かなりの見やすさだ。もっとも,変換と転送の手間をを考えると微妙かもしれない

図8 Kindle3でマニュアルを表示させてみた。さすが電子書籍端末だけあって,かなりの見やすさだ。もっとも,変換と転送の手間をを考えると微妙かもしれない

著者プロフィール

水野源(みずのはじめ)

Ubuntu Japanese Teamメンバー。理想のフリーデスクトップ環境を求めて東へ西へ……のはずが,気がついたら北の大地で就職していたインフラ寄りのエンジニア。最近レンズ沼にハマる。日本仮想化技術株式会社所属。