2007/06/20

Firefoxのポータブル化、と複数Profileの多重起動

FirefoxにはProfileを指定して開くコマンドラインオプションがあります。これで指定すればPortable Firefox無しでポータブル化できるみたいです。

Firefox をリムーバブルメディアから起動する - Firefox Help: 便利な使い方

利点
Portable Firefoxの起動時のスプラッシュが邪魔な人、英語版の日本語化とかしたくない人、FirefoxPortable.exeとか挟まれるのがむずがゆい人にはいいかも
欠点
むしろ手間はかかる。またポータブルに最適化はされていません。自分でabout:configなどを要設定。

普段から常にこの方法で使っていればProfileのバックアップも楽になるので、変な拡張を入れてしまった場合のバックアップなんかもとりやすくなるかもしれません。

ついでにMOZ_NO_REMOTEという環境変数をセットすると多重起動もできるようになります。

朝顔日記 - 続・複数の異なる Firefox を同時起動する

なにが便利かと言うと、Profile指定と一緒に使うと同じサービスに違うアカウントでログインしたFirefoxを同時に立ち上げられることです。(Cookieなどの実体がProfile単位で保存されるため?)

例えば私は、BloggerのアカウントがGoogleアカウントに統合されて以来、本名アカウントでネットをしている最中にBloggerに投稿したくなったらハンドルネームアカウントでログインしなおしていたのです。これが面倒くさいのでハンドルアカウントはOperaで使うようにしていました。が、複数のブラウザを等しく使い込むのは面倒です。出来れば同じFirefoxの方がいい。などといった場合に、本名アカウントとハンドルアカウントのFirefoxを同時に立ち上げられて便利です。ProfileをコピーしてからGoogleへのログインだけしなおせばアドオンやテーマの設定などを1からしなくても良くなります。

というわけで手順です(Win用)

  1. Firefox本体のコピー
  2. Profile指定及び多重起動用のBATを作成
  3. 今使っているProfileのコピー
  4. コピーしたProfileで起動するショートカットを作成

最後の手順はショートカットでもBATでもいいのですが、相対パス指定できるポータブルなランチャーなんかでも便利です。

今回はUSBで使うことが前提なのでUSBドライブ(仮にX:\)に以下のようなフォルダを用意します。

Firefoxのインストールフォルダ
X:\usr\local\opt\Mozilla\Firefox\
Profile設置フォルダ
X:\home\KNYI Jong\.mozilla\Firefox\
  1. Firefoxのコピー
    C:\Program Files等の下に元々インストールされているFirefoxのファイルをX:\usr\local\opt\Mozilla\Firefox\にごそっとコピーします。アンインストーラーなどUSB使用に不要なものもあるので容量が気になる場合は適宜削除してください。
  2. Profile指定及び多重起動用のBATを作成
    コピーしたFirefox.exeの横に以下の内容のfirefox.batというファイルを作ります。 @echo off SET BASE=%~dp0 SET MOZ_NO_REMOTE=true start "duplicate firefox" %BASE%\firefox.exe -profile %1 "%~dp0"というのはDOSのBATの特殊な環境変数(?)でBATファイルの置いてあるフォルダのパスです。BATの実行パスはショートカットから起動された場合などはファイルプロパティの「作業フォルダ」に依存します。この書き方だとどこから呼び出されようと、BATの設置場所からの相対パスで参照されます(多分)。なのでこのように書くことで呼び出される際の環境に依存せずにfirefox.exeを参照できるようにしています。
  3. 今使っているProfileのコピー
    C:\Documents and Settings等の下にあるProfileフォルダ(xxx.default等)の中身をごそっとX:\home\KNYI Jong\.mozilla\Firefox\にコピーします。
  4. コピーしたProfileで起動するショートカットを作成
    X:\usr\local\opt\Mozilla\Firefox\firefox.bat "X:\home\KNYI Jong\.mozilla\Firefox" という形式で、BATなりショートカットなりランチャーの登録なりで作って呼び出します。

実際のところ職場でもいつもの環境でFirefoxを使えるようにしたかったのですが、諸事情によりまだ試せていません。フツーのFirefoxがインストールされた自宅PCで複数アカウントの使い分けのために使っているので、この方法により本当にちゃんとポータブル化されているか(レジストリとかにゴミが残らない、USBから問題なく起動する、など)は未検証です。