2014年3月9日日曜日

Firefox24 ESRと旧バージョンの同時使用

前のエントリーで、旧バージョンのFirefoxからFirefox24 ESRにアップグレードしたという記事を書きましたが、ここではそれらを同じMacに同居させる方法について書きます。
ここでの使用バージョンは、Firefox 16.0.2とFirefox 24 ESR (両方共日本語対応版)です。確認したOS バージョンは、Snow Leopard (OS X 10.6.8)、Mountain Lion (10.8.5)です。

アップグレードの、大まかな手順は以下の通りです。アプリケーションフォルダ内やFirefoxのブックマークや履歴等が保存されているプロファイルを操作しますので、必ずバックアップを取ってから実行してください。

  1. アプリケーションフォルダのFirefox.appをFirefox16.0.2.appにコピーする。
  2. Firefox16.0.2.appアプリケーションパッケージ内の必要な修正をする。
  3. Firefox16用のプロファイルを作成する。
  4. 最後にFirefox24 ESRをインストール(アップグレード)する。

では、順番に説明します。Firefox24 ESRを事前にダウロードして、Firefox自体は事前に終了しておきます。

1. アプリケーションフォルダのFirefox.appをFirefox16.0.2.appにコピー

Finderでアプリケーションフォルダを開き、Firefox.appを見つけます。
マウスで選択し、command + Dキーを押すとコピーできます。
するとFirefox のコピー.appというファイルが出来ますので、名前をFirefox16.0.2.appなどに変更します。

2. Firefox16.0.2.appアプリケーションパッケージ内の必要な修正

1.でコピーしたFirefox16.0.2.appのアイコン上でマウスを右クリックして、「パッケージの内容を表示メニュー」を選択します。するとパッケージ内のファイルが表示されますので、カラム表示にすると編集するファイルを探しやすいと思います。
編集するファイルは、以下の4つです。

(1) Contents/MacOS/application.ini
(2) Contents/MacOS/firefox
(3) Contents/Info.plist
(4) Contents/Resources/ja.lproj/InfoPlist.strings


(1) Contents/MacOS/application.ini


このファイルをエディタで開き、
[App]
Vendor=Mozilla
Name=Firefox
となっている部分を探します。
Name=Firefox
を、
Name=Firefox16.0.2に修正して、保存、終了します。

(2) Contents/MacOS/firefox


まず、firefoxを同じフォルダ内にfirefox.xと名前を変えます。
その後、エディタでfirefoxファイルを新たに作成します。
内部は、以下のようになります。
#!/bin/sh
/Applications/Firefox16.0.2.app/Contents/MacOS/firefox.x -P Firefox16.0.2 -no-remote

エディタで修正、保存した後、ターミナルでファイルオーナーや実行権が、firefox.xと同じになるようにします。
$ cd /Applications/Firefox16.0.2.app/Contents/MacOS
$ chmod a+x firefox
$ chown [firefox.xと同じlogin id] firefox #idが異なる場合のみ実行

firefoxシェルスクリプトで行っている内容ですが、firefox.xと名前を変更したファイルに対し、Firefox16.0.2というプロファイル(後で作成します)を指定して起動します。また、-no-remoteオプションにより、Firefox16.0.2が自分用のプロファイルの場所をデフォルトとして変更しないので、Firefox 24 ESRが混乱する(アドオンをチェックしたりする)ことを避けられます。

(3) Contents/Info.plist

このファイルの修正で、アクティビティモニタ、Dock上、アプリケーションスイッチャー(command + tab)で見た際のアプリケーション名を、Firefoxではなく、Firefox16.0.2にできます。
エディタでInfo.plistを開き<key>のCFBundlenameを探し、次の行の<string>の内容のFirefoxをFirefox16.0.2に変更します。
<key>CFBundleName</key>
<string>Firefox</string>
<key>CFBundleName</key>
<string>Firefox16.0.2</string>
に変更します。

(4) Contents/Resources/ja.lproj/InfoPlist.strings


このファイルの変更で、Firefox16.0.2アプリケーションが最前面になっている時のメニューバータイトルをFirefox16.0.2として表示できます。
このファイルは、UTF-16形式ですので、対応しているエディタかXcodeを使ってください。
CFBundleName = "Firefox";

CFBundleName = "Firefox16.0.2";
に変更します。


3. Firefox16用のプロファイルを作成する

3.1 Profilesディレクトリのコピー

ここでは、ターミナルで作業します。まずApplication Supportディレクトリに移動します。
$ cd ~/Library/Application\ Support

次に、プロファイルの入ったFirefoxディレクトリをFirefox16.0.2ディレクトリにコピーします。
$ cp -r Firefox Firefox16.0.2

3.2 Firefox16.0.2に古いプロファイルを認識させる

ターミナルで実行します。
/Applications/Firefox16.0.2.app/Contents/MacOS/firefox.x -p

以下のようなダイアログが出たら、続けるをクリックしてください。

以前にプロファイルを作成したことがある場合は、表示されないで次のダイアログが出るかもしれません。
新規プロファイルを作成…を選びます。
新しい名前をFirefox16.0.2と付けて、「フォルダを選択…」ボタンから、コピーしておいたフォルダ「~/Library/Application Support/Firefox16.0.8/Profiles/」を選びます。ki8xc…の部分はユーザーによって異なります。
ここで、「開く」を選び、元のダイアログウインドウで「完了」を選びます。
以上で、デフォルト以外にFirefox16.0.2というプロファイルが作成されます。


4. Firefox24 ESRをインストール(アップグレード)する

あらかじめダウンロードしていたFirefox 24 ESRのdmgを開き、Firefoxアイコンを/Applicationフォルダにコピーしてください。(前の記事も参照してください)
プロファイルの確認方法ですが、Firefoxを立ちあげて、ヘルプ -> トラブルシューティング情報…を選び、アプリケーション基本情報のプロファイルフォルダ項目のFinderで表示ボタンで確認することができます。



以前のバージョンのFirefoxでは、もう少し簡単に複数バージョンの同時使用ができていましたが、最近はFirefoxが起動時に見るファイルがApplication Support/Firefox/profiles.iniフォルダに固定されているのか、プロファイルを明示的に指定して、-no-remoteオプションで起動しないと混乱が起きるようです。

それから、Firefox 24 ESRで確認したところ、自分の使用しているアドオンは一応すべて対応していました。一部、動きがおかしいものもあるようですが、基本的にはESRを使う予定で、古いバージョンは使う必要はなさそうでした。

0 件のコメント:

コメントを投稿