2013年08月11日
_ [computer] ReVIEW 実行環境の VirtualBox イメージを作りました
昨日、ReVIEWによる書籍制作フローを勉強する会 にお呼ばれして、多岐にわたる有意義なディスカッションをしたのですが、ReVIEW や TeX 環境を整備するのがけっこうしんどいよねぇ、という話が出ました。
(※ReVIEW って何?—ReVIEW は、プレインテキストに簡単な命令を入れた原稿から、PDF や HTML/ePUB、InDesign 用 XML といった別形式に変換できるツールセットです。https://github.com/kmuto/review/wiki または「review kmuto」で検索してみてください。Markdown や Sphinx と似たようなものですが、汎用性と印刷物化に重点があります)
特に Windows あたりだとまず Cygwin からといういきなりハードモードになってしまうし、どの環境にせよ TeX を入れようとするとやたら大きいので、それならいっそ、環境の揃った VM のイメージを提供したほうがいいのかなと考えてみました。
Windows / Mac OS X / Linux で共通、かつ無料で使える VM (仮想マシン)としては、Oracle 社が提供している VirtualBox があります。いろいろよく出来ていて使いやすい製品です。
まずは VirtualBoxのサイト からダウンロードして、セットアップしておいてください(Linux ディストリビューションのものでも動くと思いますが、フレームバッファを使っている関係で、もしかしたらダメかもしれません)。
ReVIEW 環境のイメージは、次の URL で提供しています。
http://kmuto.jp/review-cdimage/review-71-20130811.ova
1.8GB (1836473856 bytes)、MD5 チェックサムは 07954f4f22782b54eb4a712411fb240d です。
展開には 3.5GB の空き容量を要します。使用メモリ量は VM の初期設定では 384 MB としています。これより少なくても大丈夫かもしれませんが、PDF 作成に失敗する可能性はあります。
ova ファイルをダブルクリックすれば、VM の展開が自動で行われるはずです。Linux の場合は、VirtualBox のファイルメニューに「仮想アプライアンスのインポート」があるので、これを使って ova ファイルを選択してください。
言うまでもないことですが、本品は無保証です。展開・使用したことによる一切の直接・間接の損害についての責任は負えません。各ユーザーの自己責任の下で使用してください。
(※間違ってライセンス提示のところで「DFSG-Free」と書いてしまっているのですが、「DFSG 準拠」です…。ソフトウェアの集合体の OS 環境なので個々のライセンスの明示はしていませんが、「Debian Free Software Guidelines」の定義に沿った、"フリーソフトウェア" (オープンソースソフトウェア) だけで構成されています)
さて、展開後に VM を起動します。ネットワーク設定にブリッジを指定しているため、環境によっては設定を変更するよう促されるかもしれません。その場合は指示に従って、「ブリッジ」になるように調整してください。
Debian のシステムが起動し、無機質なログインプロンプトが表示されます。ユーザー名とパスワードは同じなので、「review」と入れて Enter、また「review」と入れて Enter です。
これでログインしたことになりますが、プロンプトの $ が出ているだけの途方に暮れる画面になると思います。ここで「help」と入れて Enter を押しましょう。すると、このシステムの使い方が表示されます(終了方法も書いています)。
要するに 「review」という名前の Windows 共有フォルダとしてこのシステムの作業領域が見えるようになっているので、ここに ReVIEW 原稿一式やメタ情報ファイル config.yaml を置き、あとは VM のコンソールまたは ssh から review-pdfmaker なり review-epubmaker なりを実行できる、という仕組みです。
コマンドを使うのが最小限になるので、Linux とかコマンドとか TeX とかナニソレ怖いという方にも使いやすいかな、と思います。
とりあえず手元の Debian と Mac の VirtualBox では期待したとおりに動いているようです。Windows でうまくいったよ、などのご感想・ご意見を Twitter @kmuto までお寄せください。Happy Hacking!