夜雨聆风学习资料网

ARTICLE · 1054487

当我和豆包抱怨一句百度软件跟流氓一样,就会...

当我和豆包抱怨一句百度软件跟流氓一样,就会...

事情是这样的。

前几天装了个百度搭子(DuMate),装完双击一个 .docx,屏幕上愣了一下——怎么打开的是这个 AI 助手,不是我天天用的 WPS。

第一反应不是翻系统设置,是和豆包抱怨了一句:"百度真的跟流氓一样,装个百度搭子,它把我文件的默认打开方式给改了。"

豆包回我:我先查一下它到底抢了哪些。

然后就没有然后了——没有教程,没有"你先去右键点一下打开方式",它直接开始干活。

一堆文件被一只红色触手偷偷改了默认打开方式

● ● ●

一、它到底抢了多少

我让它查,它查得比我自己还细。

先看默认浏览器:html 还是 Safari,浏览器没被抢,这一关算它没犯浑。

接着它翻了 DuMate 自己的 Info.plist,结果一目了然:这个 App 在自己的声明文件里,一口气登记了 txt、md、log、doc、docx、xls、xlsx、ppt、pptx、pdf、jpg、png、gif、csv、json、js、ts、py、go、java、html、css,而且全标了 LSHandlerRank = Default

💡 这个 Rank 是什么意思

Default 的意思是"这些文件默认归我打开"。新 App 一注册到系统,LaunchServices 就会把默认处理权给它。它不需要改你任何设置文件,在自己 App 包里写一句话就够了。

查完的真相有点出人意料:

  • 真被抢走的
    :md、Office 全家桶(doc/docx/xls/xlsx/ppt/pptx)、csv,以及一堆源码文件;
  • 没抢走的
    :pdf、图片、txt——预览和文本编辑这些系统 App 是 Owner 级声明,Default 抢不过 Owner
  • 浏览器
    :Safari 一直稳稳在位。

放大镜下查系统配置文件找证据

● ● ●

二、比"抢"更烦的是缓存

修复过程踩了两个坑,值得记下来。

坑一:直接调系统 API(LSSetDefaultRoleHandlerForContentType)写新关联是好使的,但对配置文件里已存在的条目,它静默不更新——返回码是 0,读回来还是旧值。一开始我对着"err=0"傻了半天。

坑二:改完配置文件,LaunchServices 守护进程(lsd)有自己的内存缓存。新条目它认得,老条目还是旧的。最后 killall lsd 重启一下,读回来的结果才和文件里写的一致。

整个修复其实就是三步:

# 1. 备份(最重要的一步) cp ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist \    ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist.bak  # 2. 按类型写回 LSHandlerContentType → 对应 App # 3. 刷新系统 killall lsd && killall Finder

✅ 动手前一定备份

那个 plist 就是 macOS 的"默认打开方式注册表",改之前复制一份,改崩了直接覆盖回去。

● ● ●

三、修完长这样

最后不是简单改回去,而是按我的使用习惯重新排了一遍:

文件类型
现在的默认
md / js / json / py / log / go / java / css / ts
VS Code
doc / docx / xls / xlsx / ppt / pptx / csv
WPS Office
pdf / 图片
预览
txt
文本编辑

改完验证了一遍,系统里剩下的百度相关关联只有 dumate:// 这个它自己的协议,正常现象,不碍事。

修完后文件们各回各家

● ● ●

四、复盘:下次怎么防

这次体验挺魔幻的——本来只想发句牢骚,结果收到了一份完整的排障报告。但教训本身是通用的:

  1. 装国产新 App 前后,看一眼它的 CFBundleDocumentTypes。==凡是 LSHandlerRank = Default 的,都是潜在的抢默认选手==。
  2. 自己显式设一遍默认打开方式,优先级永远高于 App 自己的声明
    。设成显式覆盖之后,哪怕它以后更新、重新注册,也抢不回去。
  3. 真不打算用,卸载最彻底;留着也无妨,覆盖写死就行。

● ● ●

最后

那天我对着终端里一溜 js -> VS Code 的读回结果,沉默了几秒。

本来只是想抱怨一下,结果顺手把"哪些文件该用什么打开"这件事彻底理顺了。

你被哪个软件顺手改过默认打开方式?评论区聊聊,我看看大家都是怎么收拾的。

相关学习资料