Running multiple Firefox versions concurrently
Written at 18:14, on Thursday 2 February 2006. Tags: webdesign .
A little known feature of Mozilla Firefox, which is particularly useful for web developers who wish to check their site in both Firefox 1.0 and Firefox 1.5, is the ability to run multiple Firefox versions next to each other concurrently. The trick is to start each version with a different profile so that they won’t mess up your settings and extensions.
My main (development) browser is Firefox 1.5, in which I have installed all sorts of useful webdeveloper extensions, bookmarks etc. Most of the time, I also have a couple of windows with 10-20 tabs open, full of research and reading material from my blogs. To make sure I don’t lose them when Firefox crashes, I have the Session Saver extension installed, a must-have (and should be built-in if Firefox wishes to be a more humane software application. Running Firefox-1.0 disables those extensions and messes up with my sessions. Also, I can’t run them next to each other, which is useful to try debugging complicated CSS which affects one version but not the other.
To be able to run Firefox-1.0 next to it, I downloaded it and put it in /Applications as Firefox-1.0. To start it up, first create a new profile for it. Makes sure you quit all running Firefox instances and backup your Profiles folder. You’ll have to open the Terminal for it and enter the following command:
/Applications/Firefox-1.0.app/Contents/MacOS/firefox-bin -Profilemanager
This will bring up the Profile manager for Firefox. You should already have a default profile which you don’t want to mess up, so just hit “Create profile” to start from scratch. Give it a useful name, such as “Firefox-1.0”. This will be your default profile for Firefox-1.0 and will be created in your profiles directory, which is at ~/Library/Application Support/Firefox/Profiles. The new profile will unfortunately be set as your default profile for Firefox-1.5 as well, so fire up your favorite text editor to change ~/Library/Application Support/Firefox/profiles.ini and find the line with:
StartWithLastProfile=0
Make sure that it reads to equal 0 because that was your original profile. Now you can start Firefox-1.5 as usual.
To startup Firefox-1.0, return to the Terminal and run (all on one line):
/Applications/Firefox-1.0.app/Contents/MacOS/firefox-bin -P Firefox-1.0 &
Firefox 1.0 will start with the Firefox-1.0 profile. Bookmarks, sessions, history, cookies, extensions – everything – will be stored in the Firefox-1.0 profile, so you can safely use it without affecting the other profile. You can even run Firefox-1.5 at the same time. The only drawback of this method is that you have to start Firefox-1.0 from the Terminal. I tried changing the Firefox-1.0.app/Contents/Info.Plist to add -P firefox-1.0 inside the string <string>firefox-bin</string>, which seems to be responsible for running the correct program, but it gave me an error. Suggestions for improving this are greatly appreciated.
What about Windows, you say? The same method will work, although the paths will be different, of course. It’s easier to run though, because you can create a shortcut in your Startmenu which calls the right profile. You can also try running a version of PortableFirefox, which is optimized to be a self-contained version and can be run from an USB-drive or even your iPod.
Comments closed (7 total) | Permalink


Sweetness, been looking for some time. I was running opera next to firefox but it has some strange JS quirks making AJAX development a pest.
Thanks
Thanks for the tip, I’m using it now for 2.0 (I’m reading this a little late :)).
If you’re on Mac OSX, you can put the command line call in a Bash script and then make a GUI executable to run that Bash script using Platypus: http://www.sveinbjorn.org/platypus
That’s a great tip, thanks!
Firstly, Jeroen: Thank you so much for making me aware of Session Saver … I think it has to be one of the most indispensable Firefox extensions! I can’t believe I’ve not seen it and installed it before now!
Just wanted to mention that, in order to get this working under Window with Firefox 1.5 and 1.0 running concurrently, I had to use the “complicated” batch file method mentioned on Hiveminds.
Another option would be to create a file called runff in Contents/MacOS and write these two lines to it:
Don’t forget to chmod a+x that file afterwards. Then, in the Info.plist, change
CFBundleExecutablefromfirefox-bintorunffCorrection to my posting. The solution I posted won’t work properly – no dock icon appears, and you can’t focus the Firefox window.
Change the shell script to this:
All we need to do is remove the
&so firefox-bin doesn’t run in the background. Obviously, this is important so OS X can keep track of the process that’s running (it starts runff, so that must keep running)… to my surprise, the&even caused trouble when firefox was run from the command line… very strange.I had to alter the runff script David suggested to get it to work on my machine:
(mine wouldn’t start without the full path, YMMV.)