修复Linux下WPS-Office劫持与Office文档关联的MIME类型

TL;DR

症状总结:在Arch Linux (6.18.1) + GNOME49 下上传office文件(.docx, .xlsx, .pptx)到谷歌云盘或者其他网盘会被自动识别为ZIP,无法正常打开。

诊断结果为:WPS-Office 会注册自己的自定义 MIME 类型(application/wps-office.docx),这可能会泄露给依赖共享 MIME 数据库的应用程序(例如通过 gio、文件选择器门户等),这会导致 Google 云端硬盘上传/识别失败。因为docx/pptx文件本质上就是ZIP压缩容器,所以当Google Drive无法识别客户端提供的文件类型(或无法准确检测时),可能会退而求其次将其视ZIP文件。

在这里插入图片描述

修复方法:

1. 通过命令行确认哪些是“真实”内容,哪些是“关联”内容。

先找到一个受影响的office文件,然后运行以下命令行:

wyw@ArchLegion ~/Downloads/mime_test$ file --mime-type -b test.docx                                    
application/vnd.openxmlformats-officedocument.wordprocessingml.document
wyw@ArchLegion ~/Downloads/mime_test$ xdg-mime query filetype test.docx                                
application/wps-office.docx
wyw@ArchLegion ~/Downloads/mime_test$ gio info test.docx | grep -i content-type                        
  standard::content-type: application/wps-office.docx
  standard::fast-content-type: application/wps-office.docx

可见MIME文件格式被WPS直接劫持了。

2. 处理WPS的mime配置文件 ~/.local/share/mime/packages/Override.xml

先来备份一下

mkdir -p ~/.local/share/mime/packages/backup

然后把目标文件移除启用的mime文件夹

if [ -f ~/.local/share/mime/packages/Override.xml ]; then
  cp -a ~/.local/share/mime/packages/Override.xml ~/.local/share/mime/packages/backup/Override.xml.$(date +%F)
  mv ~/.local/share/mime/packages/Override.xml ~/.local/share/mime/packages/Override.xml.disabled.$(date +%F)
fi

# 最后激活一下系统mime的数据库
update-mime-database ~/.local/share/mime

再来检查一下测试文件的mime类型:

wyw@ArchLegion ~/Downloads/mime_test$ xdg-mime query filetype test.docx                                
application/vnd.openxmlformats-officedocument.wordprocessingml.document
wyw@ArchLegion ~/Downloads/mime_test$ file --mime-type -b test.docx                                    
application/vnd.openxmlformats-officedocument.wordprocessingml.document
wyw@ArchLegion ~/Downloads/mime_test$ gio info test.docx | grep -i content-type                        
  standard::content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
  standard::fast-content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document

基本上已经正常。

3. 查看WPS的文件类型自动检测 ~/.config/Kingsoft/Office.conf:

为了防止重启后WPS容易继续修改系统mime数据库,把它自己的配置文件又加进来,这里需要修改一下Office.conf里的一行参数:

common\do_not_detect_file_association_while_startup=true

在添加之前这行基本上已经存在,并且被设置成true了,配置完成之后再来一遍:

update-mime-database ~/.local/share/mime

再看谷歌云盘上传的文件类型已经正常了:

在这里插入图片描述
至此,这个困扰了两三年的问题彻底解决了,感谢GPT5.2和Gemini3的troubleshooting ❤️

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值