Topic: Firefox Profiles for Plugin Management
I find firefox profiles to be one of the most helpful and least utilized features of the program. So I thought I'd outline the basics for anyone who doesn't know how profiles work.
Profiles give you the ability to run multiple instances of Firefox with their own addons, history, bookmarks, cookies, cache, etc off a single FF install. Launching separate browser instances is helpful when testing sites or when you need different combinations of plugins. In my case I have a number of development plugins that I wouldn't want bloating my default browser but that are invaluable tools when working on a project. My solution is to create a development profile.
1) Make a new profile
To create a new profile close firefox and then run:
$ firefox -profilemanagerYou'll get a little GUI dialogue box that will allow you to add a new profile. I call mine "development" but I'll refer to it as NEW_PROFILE for the rest of my post.
When Firefox launch you should be looking at a totally "new" copy of firefox. At this point you have a choice. You can either copy your default profile and use it as a starting point for your NEW_PROFILE or build off of the Firefox default. If you are going to build off of default skip to step 3.
2) Duplicate your default (optional)
Look in ~/.mozilla/firefox you should see XXXXXXXX.default, YYYYYYYY.NEW_PROFILE and profiles.ini. (Important: before you do this you might want to make a backup archive of your default profile just in case things go badly.) To duplicate your default profile copy the contents of XXXXXXXX.default into YYYYYYYY.NEW_PROFILE, when you are prompted about overwriting allow all overwrites.
At this point you should have two identical profiles in Firefox, default and NEW_PROFILE.
3) Set up profile specific menus and key bindings
When you have more than one profile Firefox defaults to the last Profile used if no profile is specified. To select your profile at launch use the following format:
firefox -P PROFILE_NAME -no-remote
The -no-remote flag is optional. If you include it you'll be able to run more than one profile at the same time; however, you'll get an error, instead of a new window, if you call Firefox with an already running profile. In practice this rarely happens, is harmless, and is easy to work around. I always use -no-remote.
On the internet menu section, in menu.xml I've added:
<item label="Firefox Profiles">
<action name="Execute">
<execute>
firefox -profilemanager
</execute>
</action>
</item>
<item label="Firefox (NEW_PROFILE)">
<action name="Execute">
<execute>
firefox -P NEW_PROFILE -no-remote
</execute>
</action>
</item>
<item label="Firefox (default)">
<action name="Execute">
<execute>
firefox -P default -no-remote
</execute>
</action>
</item>
I've also updated rc.xml's keybindings:
<keybind key="W-w">
<action name="Execute">
<startupnotify>
<enabled>true</enabled>
<name>Web Browser</name>
</startupnotify>
<command>firefox -P default -no-remote</command>
</action>
</keybind>4) Configure FF
This is up to you. The addons really make Firefox for me, unfortunately they also break it. I've found it is quite nice to have a light default profile that I can take in different directions with different extensions under different profiles.
Here's a thread on some of folk's favorite addons.