-
-
Save cowboy/868662 to your computer and use it in GitHub Desktop.
#!/bin/bash | |
if [ "$1" = "-h" -o "$1" = "--help" ]; then cat <<EOF | |
Multi-Firefox Fixer - v0.2 - 4/26/2011 | |
http://benalman.com/ | |
Usage: `basename "$0"` | |
Run this shell script from beside (in the same parent directory as) one or more | |
Firefox*.app or Aurora*.app applications and it will "fix" those Firefoxes to | |
always use an app-named profile. For example, if an application is named | |
"Firefox 2.0.app" then the "Firefox 2.0" profile will always be loaded when | |
that application is run. This allows multiple versions of Firefox to be running | |
simultaneously. | |
Note that upon first run of a "fixed" Firefox, an app-named profile will need | |
to be created. This can be done in the dialog that Firefox displays, just be | |
sure to name it correctly! | |
Copyright (c) 2011 "Cowboy" Ben Alman | |
Dual licensed under the MIT and GPL licenses. | |
http://benalman.com/about/license/ | |
EOF | |
exit; fi | |
ERR='ERROR: No Firefox*.app or Aurora*.app apps found in current directory!' | |
for ff in Firefox*.app Aurora*.app; do if [ -d "$ff" ]; then ERR=; fi; done | |
if [ "$ERR" ]; then echo "$ERR"; echo "For usage instructions, run: \ | |
`basename "$0"` -h"; exit 1; fi | |
for ff in Firefox*.app Aurora*.app; do | |
ROOT="$ff/Contents/MacOS" | |
BIN="$ROOT/firefox-bin" | |
echo $ff | |
if [ -z "`file "$BIN" | grep 'shell script'`" ]; then | |
echo " - Backing up firefox-bin executable to firefox.bin (first run only)." | |
mv "$BIN" "$ROOT/firefox.bin" | |
fi | |
if [ -f "$BIN" ]; then | |
echo " - Updating firefox-bin script." | |
else | |
echo " - Creating firefox-bin script." | |
fi | |
cat > "$BIN" <<'EOF' | |
#!/bin/bash | |
"`echo $0 | perl -pe 's/-bin$/.bin/'`" -P \ | |
"`echo $0 | perl -pe 's#.*/((?:Aurora|Firefox)[^/]*)\.app/.*#\1#'`" | |
EOF | |
chmod +x "$BIN" | |
done | |
echo 'All done!' |
cowboy at Cowbook in /Applications/Web Browsers | |
$ ls | |
Aurora.app Firefox 4.0.app Opera 9.64.app | |
Chromium.app Google Chrome.app Safari 3.2.1.app | |
Firefox 2.0.app Opera 10.10.app Safari 4.0.5.app | |
Firefox 3.0.app Opera 10.63.app WebKit.app | |
Firefox 3.5.app Opera 11.00.app chrome-console-text.sh | |
Firefox 3.6.app Opera 11.10.app multi-firefox-fixer.sh | |
cowboy at Cowbook in /Applications/Web Browsers | |
$ ./multi-firefox-fixer.sh | |
Firefox 2.0.app | |
- Backing up firefox-bin executable to firefox.bin (first run only). | |
- Creating firefox-bin script. | |
Firefox 3.0.app | |
- Backing up firefox-bin executable to firefox.bin (first run only). | |
- Creating firefox-bin script. | |
Firefox 3.5.app | |
- Backing up firefox-bin executable to firefox.bin (first run only). | |
- Creating firefox-bin script. | |
Firefox 3.6.app | |
- Backing up firefox-bin executable to firefox.bin (first run only). | |
- Creating firefox-bin script. | |
Firefox 4.0.app | |
- Backing up firefox-bin executable to firefox.bin (first run only). | |
- Creating firefox-bin script. | |
Aurora.app | |
- Backing up firefox-bin executable to firefox.bin (first run only). | |
- Creating firefox-bin script. | |
All done! |
This is astounding.
DOPE!
This is not working for Firefox 4.0 on OSX 10.5.8
FF crash at startup (Application firefox.bin as stop)
It work with FF 2.0 to 3.6 perfectly.
Great ressource! Thanks a lot!!!
Weird, it works great for me in OS X Firefox 4.0. Anyone else seeing this issue?
Are you on OSX 10.5 (Leopard)?
It appears to work fine for me in OS X 10.6.7.
FWIW, I have Firefox 2, 3, 3.5 and 4 running perfectly on OS X 10.6.7 thanks to this script. Sounds like a Leopard issue then?
I've switch to OSX 10.6.7 and confirm that works.
The problem is with OSX 10.5.8.
Great script by the way! Nice job
Does this work with Firefox 7 / OS X Lion? I ran the script, but when I opened Firefox 7 it didn’t ask me which profile to use.
I fixed it by running /Applications/Firefox\ 7.app/Contents/MacOS/firefox-bin -ProfileManager
afterwards.
FWIW, here’s a script that downloads different versions of Firefox, sets up a separate profile for each version, and even adds the version number to the app icon. http://gkoberger.net/n/firefoxes
Note: be sure to quit Firefox 4.0 and re-run this script after Firefox 4.0 auto-updates itself!