================================================================= 複数のバージョンの Netscape ブラウザ version 4.x を同居させる方法 ================================================================= 1. はじめに -----------  Netscape ブラウザをインストールすると、通常は /usr/local/netscape などの特定のディレクトリにインストールされ、もし古いバージョンがあったとして も、上書きされるか名前が変えられてしまい、複数のバージョンを切替えて実行する ことはできません。英語版であれば、インストールディレクトリを変更することで、 それほど困ることはありませんが、日本語版をインストールすると、導入されるリソー スファイルがバージョン依存なため、インストールされているリソースファイルと対 応しないバージョンの Netscape ブラウザは動作しなくなります。 更にブックマークや NetHelp も英語版のものが日本語版のもので上書きされてし まうため、日本語版と英語版の同居もできません。  この文書では、複数のバージョン・言語の Netsape ブラウザを切替えていつでも 実行できる状態にしておく試みを紹介します。 2. 問題となっている点 --------------------- 2.0 バイナリ 標準の英語版インストーラはデフォルトで /usr/local/netsacpe 等(プラットホー ムによる)にインストールします。このため以前のバージョンは上書きされます。 これを /usr/local/netscape-v451 などバージョン独立にする必要があります。 MOZILLA_HOME を適当に設定するようにすれば、これは簡単ですね。 2.1 リソースファイル  リソースファイルには Netscape.version: 4.51 というリソースがあり、これが読み込まれると、このバージョン以外のものは プログラム内部でチェックされて起動しなくなります。標準のインストーラでは りソースファイルを(LANG 環境変数に対応する) X11 標準の場所にインストー ルするため、インストール場所をバージョンによって異なる場所に置き、 実行時にその場所を XFILESEARCHPATH, XAPPLRESDIR 環境変数等で指定して実行す る必要があります。 2.2 netscape.cfg netscape.cfg は /usr/lib/X11 以下が検索された後、リソースファイルと同じディ レクトリが検索されますので、リソースファイルと同様に対処すればバージョン独立 にできます。 例えば以下のような順番になります。 5021 netscape NAMI "/usr/lib/X11/ja_JP.EUC/app-defaults/netscape.cfg" 5021 netscape NAMI "/usr/lib/X11/ja/app-defaults/netscape.cfg" 5021 netscape NAMI "/usr/lib/X11/app-defaults/netscape.cfg" 5021 netscape NAMI "/usr/local/netscape-v451/ja_JP.EUC/netscape.cfg" 2.3 その他のファイル  about, splash など MISCLOC で指定するディレクトリにインストールされるファ イルは、リソースファイルの appDir リソースで指定したディレクトリから検索され ますから、appDir リソースで指定するディレクトリを以下のようにバージョンによっ て独立になるディレクトリにし、その場所にインストールすれば OK です。 ただし plugins というファイル(ヘルプメニューの「Plug-In について」を選ぶと 実行される JavaScript)は plugin を入れるディレクトリと名前がかち合うので、 plugins ディレクトリと同じディレクトリには置けません。 *appDir: /usr/local/netscape-v451/ja_JP.EUC/misc 3. 特徴 ------- この install.coexistence(.ja) スクリプトはオリジナルのスクリプトに比べて以 下の点が異なっています。 ・英語版のファイルは一切いじらない ・プラットホームに関わらず、/usr/local/netsacpe-v451/$LANG のようなディレク トリに決めうちしている ・全てのファイルを /usr/local/netscape-{バージョン} ディレクトリ以下にまとめ ている ・/usr/local/netscape-v451/$LANG ディレクトリに英語版の全てのファイルへの シンボリックリンクを張っている。これは MOZILLA_HOME 環境変数ごと変えて しまいたいからです(あ、全てというのは正確ではないかも)。 ・バージョン独立とは関係ありませんが、license というファイルを LICENSE ファ イルへのシンボリックリンクという形で用意する。これにより、about:license で、日本語のライセンス条項が読めます。 ・共存環境で起動するためのスクリプトを /usr/local/netscape-v451/ja_JP.EUC/netscape-v451 のような名前でインストールします。 実際にどう違うのかは % diff -u instal.ja install.coexistence.ja とでもしていただければよくおわかり頂けるかと思います。 4. 実行例 --------- まず英語版をインストールします。その時インストールディレクトリを /usr/local/netscape-v451 のように以前のバージョンとぶつからないように 設定しておきます。 |mistral# ./ns-install | |================================================================== | | NETSCAPE Platform-Independent Software Installation | For Communicator release 4.51 | Copyright (c) 1997-1999 by Netscape Communications Corp. | |================================================================== | | | |Please specify the directory path under which the software will be |installed. The default directory is /usr/local/netscape, but you may |install anywhere you wish (if you have permission to do so). | |Location for Communicator software [/usr/local/netscape]:/usr/local/netscape-v451 | |/usr/local/netscape-v451: No such directory. Do you wish to create it? (y/n)[y] |(略) 次にアーカイブに含まれている install.coexistence(.ja)を実行します。 mistral# env LANG=ja_JP.EUC ./install.coexistence.ja |(略) |つぎに、既にインストールされているNetscape に日本語のコンポーネントを |インストールします。一部のファイルは上書きされてしまいます。 | |インストールを続けますか? (Y/N): y | |インストールディレクトリを入力してください。 | |デフォルトの場合はEnterを入力してください。 | |[Install Directory - /usr/local/netscape-v451] : % /usr/local/netscape-v451/ja_JP.EUC/netscape-v451 -or- % env LANG=C /usr/local/netscape-v451/ja_JP.EUC/netscape-v451 5. 作者のつぶやき ================= こんなんほんとに必要なんかなぁ? うれしいのは私だけかも。 6. 既知のバグ ============= 面倒なので、アンインストーラは作っていません。 # rm -rf /usr/local/netscape-v451/ja_JP.EUC とでもすれば十分ですよね? 違うバージョンの Netscape ブラウザを起動すると、ライセンス同意のウィンドウ が毎回現れます(が、それはそういうものです)。