macOS disable Firefox default browser prompt non-interactively
I am trying to configure Firefox on macOS to not prompt the user to make it the default browser.
I am using the following script to create the profile and set the user preferences after installing Firefox by copying `Firefox.app` from the downloaded DMG: ```
- !/bin/sh
open -a Firefox.app --args -CreateProfile default sleep 1
write_userpref() { USER=$(whoami) PROFILE=$(ls -1 "/Users/${USER}/Library/Application Support/Firefox/Profiles/" | grep -E "\.default$") cat << EOF > "/Users/${USER}/Library/Application Support/Firefox/Profiles/${PROFILE}/user.js" // mandatory comment? user_pref("app.update.auto", false); user_pref("app.update.disable_button.showUpdateHistory", false); user_pref("app.update.enabled", false); user_pref("breakpad.reportURL", ""); user_pref("browser.newtabpage.activity-stream.feeds.topsites", false); user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); user_pref("browser.tabs.crashReporting.sendReport", false); user_pref("browser.discovery.enabled", false); user_pref("browser.defaultbrowser.notificationbar", false); user_pref("browser.shell.checkDefaultBrowser", false); user_pref("browser.shell.didSkipDefaultBrowserCheckOnFirstRun", false); user_pref("browser.shell.skipDefaultBrowserCheckOnFirstRun", true); user_pref("browser.newtabpage.enabled", false); user_pref("experiments.enabled", false); user_pref("extensions.pocket.enabled", false); user_pref("toolkit.telemetry.enabled", false); user_pref("update_notifications.enabled", false); EOF }
write_userpref
open -a Firefox.app --args -new-tab -P default "about:blank" sleep 3 osascript -e 'quit app "Firefox"' sleep 2
open -a Firefox.app --args -P default about:blank ```
Here's the behaviour I'm seeing:
- Firefox starts to an `about:blank` tab, however there is a second "Firefox Privacy Notice" tab
- AppleScript quits Firefox
- Firefox starts to an `about:blank` tab, however it is now prompting me to make it the default browser
I do not want Firefox to prompt the user to become the default browser.
My ideal scenario is that Firefox starts without the "Firefox Privacy Notice" tab and without prompting me to make it the default browser. From the observed behaviour, this doesn't seem possible.
Can anyone tell me how I can accomplish this without user interaction or MDM?
被采纳的解决方案
Back to answer my own question.
The root cause of the above script not working is that it was being executed as the deployment user and not the UI user.
Quick solution is to just dump the script contents into a file in /private/tmp/ and then sudo -u $UI_USERNAME sh /private/tmp/script.sh
定位到答案原位置 👍 0所有回复 (2)
Since I cannot add multiple images to the same post, here is a screenshot of the behaviour after initially setting the user preferences. Firefox is not prompting the user to make it the default, however there is a background tab "Firefox Privacy Notice" that I have found no way to suppress in user_pref.
选择的解决方案
Back to answer my own question.
The root cause of the above script not working is that it was being executed as the deployment user and not the UI user.
Quick solution is to just dump the script contents into a file in /private/tmp/ and then sudo -u $UI_USERNAME sh /private/tmp/script.sh