Mac终端修改默认浏览器需先确认浏览器已安装于/Applications目录,再用defaults命令写入HTTP/HTTPS协议关联,最后执行lsregister -kill和killall Dock & Finder刷新缓存并验证。

Mac终端修改系统默认浏览器需要绕过图形界面设置,直接操作系统级配置,适用于批量部署、脚本自动化或图形界面异常无法访问的场景。
确认目标浏览器是否已注册为可选默认项
在终端中运行:ls /Applications/ | grep -i "chrome\|firefox\|edge\|safari",检查目标浏览器(如Google Chrome.app)是否存在于/Applications目录下。
若未安装,【必须先安装对应浏览器并重启Finder】,否则后续命令会报错“no such file”且无法回退。
这一步操作起来很简单,直接把文件拖进去就行。
使用defaults命令强制设为默认浏览器
方法一:设为 Google Chrome
defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add '{LSHandlerURLScheme = http; LSHandlerRoleAll = "com.google.chrome";}'
defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add '{LSHandlerURLScheme = https; LSHandlerRoleAll = "com.google.chrome";}'
方法二:设为 Microsoft Edge
defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add '{LSHandlerURLScheme = http; LSHandlerRoleAll = "com.microsoft.edge";}'
defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add '{LSHandlerURLScheme = https; LSHandlerRoleAll = "com.microsoft.edge";}'
注意:Safari 的 Bundle ID 是 com.apple.Safari,但 macOS Ventura 13 及以后版本对 Safari 使用该方式可能无效,需改用系统设置界面。
刷新Launch Services缓存使更改生效
第一步:执行重置命令 → 第二步:重启 Dock 和 Finder 进程 → 第三步:验证结果
lsregister -kill -r -domain local -domain system -domain user
这会清空所有应用注册信息,耗时约10~25秒,期间不要操作其他应用。
接着运行:killall Dock && killall Finder,系统将自动重启这两个进程。
最后验证是否成功:在终端输入 open https://example.com,观察是否在目标浏览器中打开新标签页。


















