Skip to content

Running multiple Firefox instances on Mac OS

I visit my Google Plus Stream every now and then to see if there’s anything useful in it. Unsurprisingly, most of the time there isn’t anything. I blame primitive filtering and lack of users. But one thing that caught my eye was a post by sheppy, asking about running multiple versions of Firefox easily. While most add-on developers should have little problem with this, it’s kinda tricky to get this right on Mac OS. The lack of the “shortcut” concept is problematic, so running a matrix of multiple Firefox profiles and multiple Firefox versions (at the same time) can be troublesome. Specially now that we have multiple channels instead of “what we have” and “what’s coming”. Here’s what I do.

I use the Automator application that is part of all default Mac OS installations. This is a tool that allows you to create automated tasks, as you might have guessed. Then I do something like this:

  1. Open Automator.
  2. Choose the Application template.
  3. From the long list in the second column, double click on Run Shell Script. This will add a box on the main panel, with a text input.
  4. Enter this: /Applications/${APPLICATION}.app/Contents/MacOS/firefox-bin -P ${PROFILE} > /dev/null &
  5. Replace ${APPLICATION} with the name of the application you want to run (Firefox, Aurora, Nightly, etc.). Replace ${PROFILE} with the name of the profile you want to run, or leave it blank to open the profile manager.
  6. (Optional) Replace /dev/null with a file path to save the console output to a file.
  7. Save the application to the Desktop.

That’s it. You now have a Windows-style shortcut that opens a specific application and profile combination. Repeat as necessary and you’ll have all the shortcuts you need, which you can open in parallel (except opening the same profile with multiple applications, which would be a bad idea). My desktop has a matrix of profiles and applications that are very convenient for my testing needs. You may want to have them in the dock or elsewhere, but that’s a matter of preference. You can also change their icon, which is not really worthwhile IMO.

You can copy and paste applications and then open them in Automator to edit their parameters. You need to open Automator and then choose the Open option, there’s no contextual edit option, which is a bit of an annoyance.

If anybody has a different system to deal with this on Mac OS, I’d love to hear it.

{ 6 } Comments

  1. therube | 2011/07/21 at 7:24 PM | Permalink

    (I know nothing of Mac.)

    So there is no -no-remote needed to run multiple simultaneous instances, or is each opened in a virtual window (or the like) on a Mac such that one is not aware of the other?

  2. jorge | 2011/07/21 at 7:29 PM | Permalink

    I know it’s not necessary on Mac. I don’t remember the exact circumstances where it is required, if it is version-dependent or platform-dependent, but I used to use it out of habit until I realized I didn’t need it.

  3. Jeff Griffiths | 2011/07/21 at 8:48 PM | Permalink

    I think no-remote is mainly used on Linux? You can also just create an applescript:

    1. open AppleScript Editor
    2. similar to step 4 above, paste something like this in:

    do shell script “/Applications/ -P nightly”

    3. File -> Save-as ( select ‘Application’ as File Format )

  4. Tomer Cohen | 2011/07/21 at 11:05 PM | Permalink

    I’d suggest setting a different persona for each instance first thing after setting up a multiple profiles installation. This will help you to distinguish easily between each profile.

  5. Nickolay Ponomarev | 2011/07/22 at 1:43 AM | Permalink

    @Jeff: -no-remote is definitely needed used on Windows too.

    Haven’t heard about the Automator solution, here are the methods I’ve seen and the one I use:

  6. joh | 2013/02/06 at 3:59 PM | Permalink

    Thanks helped me out a lot.

{ 1 } Trackback

  1. […] See original here: Xulforge Blog : Running multiple Firefox instances on Mac OS […]

Post a Comment

Your email is never published nor shared. Required fields are marked *