朝顔日記

続・複数の異なる Firefox を同時起動する

2005-08-21

環境変数 MOZ_NO_REMOTE を使って、複数の異なる Firefox を起動する方法の補足です。私もさっきまで勘違いしていてあまり使えん方法だと思っていた、環境変数 MOZ_NO_REMOTE ですが、それは使い方をよく理解していなかったからだとわかりました。

環境変数 MOZ_NO_REMOTE がセットされていない場合、外部のアプリケーションから何らかの URL を開くリクエストが Firefox に対してなされると、すでに Firefox が起動していれば DDE メッセージを通じて新たに Firefox を起動することなく(というか複数起動できない)タブなり、ウィンドウでその URL を開いてくれますし、Firefox が起動していなければ起動して開いてくれます。

MOZ_NO_REMOTE がセットされていると、DDE 使った通信が行われないようになります。話しを簡単にするために、使う Firefox はただひとつしかインストールされていないとしましょう。win9x 系の windows であれば autoexec.bat などで、win2k や XP などであれば システムのプロパティのユーザー環境変数や、システムの環境変数で MOZ_NO_REMOTE をセットすると、外部アプリから URL を開くのに、Firefox がまだ起動していなければ起動してその URL を開くことが出来ますが、既に起動していれば、Firefox は起動済みだから駄目よ、と怒られてその URL を開くことが出来なくなります。

MOZ_NO_REMOTE を使うということは、外部アプリから URL を開かないということにほぼ等しいといえます。しかし、まぁ Firefox ひとつしか入っていないのに MOZ_NO_REMOTE を使う人はいないわけで、通常は複数の Firefox を使っていて同時起動したい場合に使うわけです。そこで、メインの Firefox ではなく、サブの Firefox の場合だけ、MOZ_NO_REMOTE をセットすればいいことになります。外部アプリからの URL はメインの Firefox が受けてくれるわけですから。

では、どうやってサブの Firefox にだけ MOZ_NO_REMOTE をセットするか。それを解決するのが、バッチファイルです。サブの Firefox が、c:\hoge\huga\firefox 以下にインストールされているとします。そして、サブの Firefox 用のプロファイルが、foo だとしましょう。バッチファイルは以下のようになります。


@echo off
SET MOZ_NO_REMOTE=true
start c:\hoge\huga\firefox\firefox.exe -p foo

これにより、そのバッチファイルから実行される窓にのみ、MOZ_NO_REMOTE がセットされることになります。

という理解で、多分あってると思うんですが。:p)

参考
同時起動
DDEってなに?

もとひこさんに感謝。

「続・複数の異なる Firefox を同時起動する」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事へのツッコミ

1: oryaaaaa (2006-07-12T03:42:26+09:00)
ありがとう!作っているソフトの参考にさせていただきます。
この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2005/08/diary_050821a.html