Run multiple Firefox profiles as separate Applications on Mac

Here is a visual guide to creating multiple Firefox profiles and setting them up to run like separate applications on Snow Leopard.

Creating a new Firefox profile

Open terminal and execute the following command:

/Applications/Firefox.app/Contents/MacOS/firefox-bin --ProfileManager

This should bring up the Firefox Profile Manager -

Firefox_Profile_manager.png

Go ahead and create a brand new profile.

Using Automator to run the new Firefox profile as an application

Now, on to creating a proper Mac application to run Firefox with your chosen profile.

  1. Open Automator
  2. Choose File -> New -> Application
    Automator.png
  3. Choose Utilities group under Library
  4. Drag Run Shell Script to the workflow pane on the right
  5. Paste the following script:
    /Applications/Firefox.app/Contents/MacOS/firefox-bin -P MyProfile -no-remote &> /dev/null &
    
    Utilities_run_shell_script-1.png

    Replace MyProfile with the name of the profile you created earlier

  6. Choose File – Save As, and save it wherever you want to keep it. Leave the File Format as Application in the Save dialog.

Making it pretty – Changing the Application icon

  • Right click on the saved file and choose Get Info ( or use Cmd + I ) to bring up the Info window.
    Make sure that it is not locked (bottom right corner) -

    Firefox_get_info.png
  • Open Finder and go to /Applications/Firefox.app/Contents/Resources directory.
    mac_firefox_icon.png
  • Open firefox.icns file in Preview (just double click it).
  • Click on the image shown in the main Preview pane, copy it using Ctrl – C, click on the icon in the top of Info window and paste it using Ctrl – V.
    Copy_firefox_icon.png

And that is it, your new Firefox Application is ready to go. You can open this even when you have the default Firefox running. And, of course, you can create as many such application as you like.

If you’d like to give different icons to different profiles, just download an icon set and use that with the above steps. One of my favourites is Carbon Firefox, or try a Google search for icons.

12 comments

  1. Some helpful tips:

    1. Don’t copy and paste the script as instructed because there is HTML formatting in there that shouldn’t be and it will cause the script not to run. Instead type it exactly as it appears in the screen shot, except replace “MyProfile” with the name of your profile.

    2. It’s Command+C and Command+V. Remember, we’re in Mac OS X, not Windows or Linux… or a Hackintosh for that matter ;-)

    3. For me it didn’t launch directly into the specified profile, but instead opens Firefox Profile Manager, which is almost just as good since it saves me the step of using Terminal, but not 100% there. I suspect this is because Mozilla has changed how Firefox handles profiles since the time this article was written. If anybody figures this one out, please let me know.

  2. Hi, I was trying to using Automator to run the 2 new Ff profiles by your instructions, but after finishing I wasn’t able to run any of these 2 new profiles. When I wanted to run any of those, it is written: “The action “Run Shell script” encountered an error. Check the action’s properties and try running the workflow again.”. Did you meat such problem? I did everything by your instructions, and now i am stuck :) . I have OSX 10.6.8, Firefox 6.0.1.
    For your kind help I’d like to thank you in advance. Regards

  3. Oh, and add “-no-remote” to enable running multiple profiles simultaneously.

    /Applications/Firefox.app/Contents/MacOS/firefox-bin -P “MyProfileName” -no-remote

    Not sure why /dev/null was in there…?

  4. Just finished working with this in Firefox 8.0.1 and it looks like putting the profile names in quotes will cause the profile manager to open. However, if you leave the quotes around the profile name out, it will ope the profile without prompting. Here’s what I used (I’m opening 4 at once and I wanted them to open at the same time, so I added the ampersand at the end of lines 1, 2, and 3).

    Example below:

    /Applications/Firefox.app/Contents/MacOS/firefox-bin -P customer1 -no-remote &
    /Applications/Firefox.app/Contents/MacOS/firefox-bin -P customer2 -no-remote &
    /Applications/Firefox.app/Contents/MacOS/firefox-bin -P customer3 -no-remote &
    /Applications/Firefox.app/Contents/MacOS/firefox-bin -P customer4 -no-remote

  5. Very nice, but can you find a way to also change the icon we see when we COMMAND+TAB in order to be able to choose what version of FF you want to switch to

    • I’d love for the doc icon *while*running* to be the new icon.
      Having a different launcher icon is nice.
      But having a matching dock icon when it’s running would be a big win.

      • Yeah, the problem is that it’s still Firefox running, just using a different profile. Automator is being used to execute Firefox, just like a shell or batch script. I too would love to have different icons, and even more, truly different application instances so that command-tab app switching would work properly.

    • 1) Duplicate Firefox
      2) Right Click, Show Package Contents
      3) Navigate to “/Contents/Resources”
      4) Download a .icns file to use
      5) Replace firefox.icns with the one you downloaded
      6) Rename Firefox application to what you want. I renamed it to “.Firefox” which will make it a hidden file.
      7) Update your automator shell script to reflect the change. (I just had to add a “.” in front of Firefox. See screenshot below.

      Screenshots:
      Success – http://i.imgur.com/G0LTWna.png
      Automator – http://i.imgur.com/wey6pXj.png

      Note:
      After step 5 you might have to right click on your copied Firefox.app and click on Get Info. Drag your new icon to the old icon in the top left of the window.

Leave a Reply

Your email address will not be published. Required fields are marked *

*


3 × = twenty seven

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>