前のエントリーで、
旧バージョンの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のブックマークや履歴等が保存されているプロファイルを操作しますので、必ずバックアップを取ってから実行してください。
- アプリケーションフォルダのFirefox.appをFirefox16.0.2.appにコピーする。
- Firefox16.0.2.appアプリケーションパッケージ内の必要な修正をする。
- Firefox16用のプロファイルを作成する。
- 最後に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を使う予定で、古いバージョンは使う必要はなさそうでした。