You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubuntu 22.04中*.3mf与*.zip文件关联混淆问题求助

Kubuntu 22.04中*.3mf与*.zip文件关联混淆问题求助

看起来你遇到的核心问题是系统把*.3mf文件通过内容识别成了zip归档——毕竟3MF格式本身就是基于ZIP容器的,系统的MIME类型检测逻辑是优先看文件内容而非扩展名,所以哪怕你手动加了扩展名关联,也会被内容检测的结果覆盖。下面是一步步的解决思路:

1. 完善3MF的MIME类型定义

你已经在/usr/share/mime/types里添加了model/3mf,但还需要补充对应的XML规则文件,让系统能正确识别这个类型的特征:

  • 新建文件/usr/share/mime/packages/model-3mf.xml,填入以下内容:
    <?xml version="1.0" encoding="UTF-8"?>
    <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
      <mime-type type="model/3mf">
        <comment>3D Manufacturing Format file</comment>
        <glob pattern="*.3mf"/>
        <magic priority="50">
          <!-- 3MF文件的ZIP容器内必有_3MF/Metadata.xml,通过这个特征识别 -->
          <match type="zip" offset="0" value="\_3MF/Metadata.xml"/>
        </magic>
      </mime-type>
    </mime-info>
    
    这里把3MF的识别优先级设为50,比默认的zip类型优先级更高,确保系统优先检测3MF的专属特征。

2. 更新MIME数据库

执行命令让系统加载新的MIME配置:

update-mime-database /usr/share/mime

3. 重新配置文件关联

现在可以重新设置3MF文件的默认程序了:

  • 右键点击任意*.3mf文件 → 属性 → 打开方式,找到Ultimaker Cura(如果没显示,点击“添加”找到对应的.desktop文件),设为默认程序
  • 或者直接编辑~/.config/mimeapps.list,在[Default Applications]区块添加:
    model/3mf=appimagekit_968bf060d41f38a8b5f435483426a7e5-com.ultimaker.cura.desktop;
    
    同时确保[Added Associations]区块也包含这条记录(没有的话就加上)。

4. 检查Cura的桌面文件配置

确认你的Cura桌面文件(就是你关联的那个appimagekit开头的.desktop)里,MimeType字段包含model/3mf:
打开该文件,找到MimeType行,修改为类似这样:

MimeType=application/sla;model/3mf;application/vnd.ms-3mfdocument;

修改后执行命令更新桌面数据库:

update-desktop-database ~/.local/share/applications/

5. 强制刷新文件识别缓存

如果上述步骤后还是没生效,可以清除MIME缓存并重启文件管理器:

rm -rf ~/.cache/mime
kquitapp5 dolphin && kstart5 dolphin

补充说明

为什么系统会把3MF识别成ZIP?因为3MF格式本质是将3D数据打包在ZIP容器中,系统默认的ZIP类型检测只要看到文件开头是ZIP的魔术字节(PK\x03\x04)就会判定为zip-archive。我们通过给3MF设置更高优先级的专属特征检测,就能让系统优先识别它的真实类型,而不是只看ZIP容器。

备注:内容来源于stack exchange,提问作者reneas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 07:03:03