Mac OS X Safari 6 默认搜索引擎在可能值之间发生变化

Posted

技术标签:

【中文标题】Mac OS X Safari 6 默认搜索引擎在可能值之间发生变化【英文标题】:Mac OS X Safari 6 default search engine change between possible values 【发布时间】:2012-10-03 00:56:05 【问题描述】:

我想在 Mac OS X 上以编程方式更改 Safari 默认搜索引擎。我知道有 3 个可能的值,但 Safari 将当前值存储在哪里?我想从可可代码从谷歌更改为雅虎。可能吗?

我在com.apple.Safari.plist 文件中看到SearchProviderIdentifierMigratedToSystemPreference 变量设置为YES,可以位于~/Library/Preferences。这可能是当前值的关键,但“系统偏好”存储在哪里?你有这方面的线索吗?


更新:我发现这个命令defaults read -g NSPreferredWebServices 总是返回选择的默认搜索引擎。这样做的问题是,当我更改它的值时,safari 不会更改值。 这是将值更改为 Bing 的命令:defaults write -g NSPreferredWebServices 'NSWebServicesProviderWebSearch = NSDefaultDisplayName = Bing; NSProviderIdentifier = "com.bing.www"; ; ';

这个命令应该在终端中执行。

【问题讨论】:

你解决了吗? 不,抱歉。我没有,从那以后我还有其他任务要做。我把问题留在这里,因为我仍然感兴趣。 【参考方案1】:

显然(在 macOS 11.5 上测试),NSPreferredWebServices 设置了系统搜索引擎(例如,当使用 Spotlight 启动网络搜索时,Spotlight 会重定向您)。 每当 Safari 的搜索引擎更新时,此密钥就会更新。

当 Safari 的搜索引擎发生变化时,另一个密钥也会更新:SearchProviderShortName(在域 com.apple.Safari 中)。显然,这是为了改变 Safari 的搜索引擎而进行的更新。 (设置为 DuckDuckGo 以使用 DuckDuckGo 为例。)

以前(在 SearchProviderIdentifierMigratedToSystemPreference 之前),DuckDuckGo 搜索引擎的键是 SearchProviderIdentifier,值是 com.duckduckgo

我的建议是将它们全部设置为安全:

defaults write -g NSPreferredWebServices 'NSWebServicesProviderWebSearch =  NSDefaultDisplayName = Bing; NSProviderIdentifier = "com.bing.www"; ; '
defaults write com.apple.Safari SearchProviderIdentifier -string com.bing.www
defaults write com.apple.Safari SearchProviderShortName -string Bing

相关问题:https://***.com/a/16224386

【讨论】:

以上是关于Mac OS X Safari 6 默认搜索引擎在可能值之间发生变化的主要内容,如果未能解决你的问题,请参考以下文章

Java applet无法在Safari 7下打开文件(Mac OS X 10.9)

Mac如何将Safari设置为默认搜索引擎?

Mac评估电脑如何将Safari设置为默认搜索引擎?

无法在 OS X 中将 Chrome 设置为默认网络浏览器

Safari for Mac 默认的搜索引擎无法修改怎么办?

LaunchAgent 脚本在用户输入窗口 OS X Safari 处停止