Mac で特定プロファイルの Firefox を起動するアプリを作る
もの凄く基本的なことなんだけど、忘れて Google 先生のお世話になることが多いのでメモっておく
コマンドラインからだったら、
open -a Firefox --args -P profileName -no-remote
でOKだが、いちいちコマンドラインから起動するのは面倒なこともあって、自分は Hoge.app のアプリケーションの形で作っておくのが好み。Spotlight から検索して実行もしやすいし。
APP_NAME=FirefoxHoge.app FIREFOX_PATH=/Applications/Firefox.app mkdir -p ${APP_NAME}/Contents/{MacOS,Resources} # FirefoxHoge.app # └── Contents # ├── MacOS # └── Resources cp ${FIREFOX_PATH}/Contents/Resources/firefox.icns ${APP_NAME}/Contents/Resources vi ${APP_NAME}/Contents/MacOS/firefox.sh # ... 起動シェル vi ${APP_NAME}/Content/Info.plist # ... プロパティリスト touch ${APP_NAME} # 最後に touch しておくとキャッシュがクリアされる?
起動シェル
#!/bin/sh exec ~/opt/FirefoxNightly.app/Content/MacOS/firefox -P nightly -no-remote "$@"
プロパティリスト
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleName</key> <string>Nightly</string> <key>CFBundleExecutable</key> <string>firefox.sh</string> <key>CFBundleIconFile</key> <string>firefox.icns</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleSignature</key> <string>???</string> <!-- 以下、あってもなくてもOK --> <key>CFBundleIdentifier</key><!-- 定めておくと、keyRemap4Macbook で独自のカスタマイズが可能 --> <string>org.teramako.firefox.nightly</string> <key>CFBundleShortVersionString</key> <string>27.0a1</string> <key>CFBundleGetInfoString</key> <string>Nightly 27.0a1</string> <key>CFBundleDisplayName</key> <string>Firefox Nightly</string> </dict> </plist>