firefoxのESRとQuantumを共存させる

新しくなったfirefoxのQuantum、早くなってマルチプロセスになって使い心地はよくなったが過去のアドオンが使えなくなってしまった。アドオンのできることに大きな制限が加えられたため、機能自体が不可能になったものも多いはず。これらのレガシーアドオンを使うためには古いバージョンのfirefoxであるESRバージョンを使うしかない。しかし一般的にはESRとQuantumの共存は考えれていなくてどちらか一方をインストールするように設計されている。そこでここではそれらの共存を目指す。

ダウンロード

以下の2つ(ESRとQuantum)をダウンロードする。(win32のja(日本語)直リン)
https://ftp.mozilla.org/pub/firefox/releases/52.6.0esr/win32/ja/Firefox%20Setup%2052.6.0esr.exe

https://ftp.mozilla.org/pub/firefox/releases/58.0/win32/ja/Firefox%20Setup%2058.0.exe

解凍

これらは7zなどで解凍できるので解凍する。中にcoreというフォルダがあるのでそれぞれ”Mozilla Firefox ESR“と”Mozilla Firefox Quantum“と変えて、インストールしたいフォルダに移動させる。

デフォルトのプロファイルを作成

“Mozilla Firefox ESR\firefox.exe”を起動して閉じる。この操作でデフォルトのプロファイルが生成される。プロファイルは共存させることができないので、ESRとQuantumで別々につくる予定だが、とりあえずデフォルトのものをつくっておく。

プロファイルの作成と編集

WIN+Rで「ファイル名を指定して実行」を表示し、%APPDATA%\Mozilla\Firefoxと入力する。この中にあるprofiles.iniを編集して以下のようにする。

ここではProfile1とProfile2を追加した例。NameとPathを変えて、Defaultを0に設定している。すでにプロファイルが存在していた場合には番号を変えて対応する。

次に指定したPathに対応するするフォルダを作成する。すでにあるフォルダをコピーしてもいい。

ショートカットの作成

次にこれらのプロファイルを利用するショートカットを作成する。Mozilla Firefox Quantum\firefox.exeMozilla Firefox ESR\firefox.exeのショートカットファイルをつくり、プロパティを編集してリンク先に以下の値を追加する。

ESR

Quantum

これでそれぞれのショートカットからESRとQuantumを起動でき、同時に起動することもできる。このショートカットキーから起動しなかったときは、デフォルトのプロファイルが使用される。

ここでつくったファイルのダウンロード

mozbuid

参考
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Windows_Prerequisites

ビルド環境
XP SP3 32bit
VC2010 Express

まずこれを実行
cad07c25-abee-4821-bb72-b45e2925bc4c

start-shell-msvc2010.bat を実行

これは環境変数を設定した後mingwを起動するようだ。

mingwではドライブ名が/c/みたいになる。ここにソースを置く

ソースを取ってくる。時間がかかる。hgはMercurialというSCMツール

失敗してるのでもう一回

ビルド

最初に設定ファイルを作るみたいなのでもう一回

エラー

SDKがないというエラー、–disable-gamepadをやれば回避できるらしいのでmozconfigファイルを作成して追加。

c:/mozilla-build/mozmake/mozmake.EXE -f client.mkから実行しろといわれてるので実行

d3dcompiler.hがないという・・・仕方ないのでJune 2010 DirectX SDK をインストール。

C:\Program Files\Microsoft DirectX SDK (June 2010)\Include\D3Dcompiler.hがあることを確認。

start-shell-msvc2010.batの下のほうにインクルードディレクトリを追加。

start-shell-msvc2010.batを実行してパスを確認。

途中でこんなのが出た。

やっと終わった

489分かかった。mach runしろとのことなので実行

1998c2d0-1f12-42f4-a3cb-8155eae97389

途中で出たVSサポートのビルドをしてみる

.slnができたのでVC2010で開いてみる。いくつかのプロジェクトが読み込めなかった。Expressのせいだろうか。
F11を押してデバッグ。ビルドせずに実行した。
93f40675-cc0a-4e27-93a1-a673bdeb5e14

感想:
ビルドに時間がかかりすぎた。仮想環境で作業しながらだったが実記でやったほうがいいかもしれない。

wheezyに本物のfirefoxをインストールする

debianではfirefoxはリポジトリにはなく、オリジナルビルドのiceweaselを使っているがこれだとプロファイルマネージャが動かなかったので本家からfirefoxをダウンロードして生インストールする。

最初にiceweaselを削除
# apt-get remove iceweasel

本家からlinux版firefoxをダウンロードする。ここではfirefox-26.0.tar.bz2をダウンロードした。

$ tar xf firefox-26.0.tar.bz2

これはソースではなく実効ファイルがそのまま入ってたからビルドする必要なかった。

/opt/fireにコピーしてシンボリックリンクをはった
# cd /usr/bin
# ln -s /opt/firefox/firefox firefox

設定ファイルを全消去してプロファイルマネージャを起動
$ cd
$ rm -rfv .mozilla/
$ firefox -ProfileManager

firefox profilemanager

flashはadobe本家からlibflashplayer.soをダウンロードして .mozilla/plugins/の中に入れるかシンボリックリンクをはる。

firefoxのアドオンのバージョンチェックを無効にする

firefoxのアドオンには利用できるバージョンの情報があり、これに合致しないとアドオンはインストールできない。これをインストールする方法。

firefoxを開きアドレス欄に”about:config”と入力する。

下のウインドウで右クリックして「新規」「ブール値」を選択する。

prefernceの名前を”extensions.checkCompatibility”にして、値をfalseにする。

これでインストールできるようになる。インストール後はtrueに戻してもいい。