Ubuntu 20.04 文件关联失效问题求助
Ubuntu 20.04 文件关联失效问题求助
兄弟,我之前碰到过几乎一模一样的问题,看了你给出的配置和命令输出,核心问题应该是系统还没真正识别到你自定义的application/x-demo MIME类型,所以才把.axsd文件当成text/plain处理。试试下面这些步骤来修复:
先确认你的文件摆放位置是否正确
首先检查这两个关键文件的路径是否符合系统标准:
application-x-demo.xml:必须放到MIME类型的指定目录- 用户级(仅当前用户生效):
~/.local/share/mime/packages/ - 系统级(所有用户生效):
/usr/share/mime/packages/
如果之前没放对,先把文件移动到对应目录。
- 用户级(仅当前用户生效):
StartupLinux.desktop:要放到桌面应用的标准目录- 用户级:
~/.local/share/applications/ - 系统级:
/usr/share/applications/
还要确保它有执行权限,不然系统可能无法识别:
chmod +x ~/.local/share/applications/StartupLinux.desktop- 用户级:
强制更新MIME和桌面数据库
这一步是关键!很多时候配置完没更新数据库,系统根本不知道有新的类型存在:
- 更新MIME数据库:
# 用户级路径执行这个 update-mime-database ~/.local/share/mime/ # 如果用了系统级路径就运行这个 sudo update-mime-database /usr/share/mime/ - 更新桌面应用数据库:
# 用户级路径执行这个 update-desktop-database ~/.local/share/applications/ # 系统级路径运行这个 sudo update-desktop-database /usr/share/applications/
让系统重新识别你的.axsd文件
有时候单个文件的MIME类型会被缓存,需要强制重置:
gio set myFile.axsd metadata::content-type application/x-demo
如果想让所有.axsd文件都生效,还可以清除系统的MIME缓存(可选操作):
rm -rf ~/.cache/mime/
最后验证结果
先检查文件类型是否已经正确识别:
gio info myFile.axsd | grep "standard::content-type"
如果输出变成standard::content-type: application/x-demo,再用xdg-open myFile.axsd测试,应该就能打开你的GUI应用了。
另外补充个小细节:你的.desktop文件里写了Terminal=true,但你说这是GUI应用,其实可以改成Terminal=false,避免打开不必要的终端窗口。
备注:内容来源于stack exchange,提问作者Vipul Gupta
相关产品推荐
相关产品推荐

