我想在Mac上以编程方式更改Safari默认搜索引擎。我知道有3种可能的值,但是Safari将当前值存储在哪里?我想改变从谷歌到雅虎从可可代码。有可能吗?
我在SearchProviderIdentifierMigratedToSystemPreference变量中看到,在com.apple.Safari.plist文件中设置为YES,可以位于~/Library/Preferences。这可能是当前值的关键,但“系统首选项”存储在哪里?你有这方面的线索吗?
更新:我发现这个命令defaults read -g NSPreferredWebServices总是返回所选的默认搜索引擎。问题是,当我改变它的值时,safari不会改变它的值。
下面是将值更改为Bing的命令:
defaults write -g NSPreferredWebServices '{NSWebServicesProviderWebSearch = { NSDefaultDisplayName = Bing; NSProviderIdentifier = "com.bing.www"; }; }';
此命令应在终端中执行。
发布于 2021-07-26 00:02:49
显然(用macOS 11.5测试),NSPreferredWebServices设置了系统搜索引擎(例如,Spotlight在启动Spotlight时重定向您)。
每当Safari的搜索引擎更新时,这个键就会更新。
当Safari的搜索引擎发生变化时,另一个键也会被更新:SearchProviderShortName (在域com.apple.Safari)。显然这是一个更新,以改变Safari的搜索引擎。(例如,将DuckDuckGo设置为使用DuckDuckGo。)
以前(在SearchProviderIdentifierMigratedToSystemPreference之前),键是SearchProviderIdentifier,DuckDuckGo搜索引擎的值是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 Binghttps://stackoverflow.com/questions/12855168
复制相似问题