无法将文件类型与应用程序关联的问题。

我正在尝试将gpxviewer设置为打开.gpx文件的默认应用程序。问题是它不会出现在“打开方式”窗口中,也无法添加它。我尝试过以下方法:
- 使用推荐的Ubuntu Tweak here。但对我来说没有效果,因为没有“XML文件”或“application/xml”选项(.gpx文件被识别为XML文件,这是正确的)。 - 在GPXViewer启动器(存储在/usr/share/applications/gpxviewer.desktop)中添加“MimeType=application/xml”。但仍然无法将GPXViewer作为打开此类文件的选项。
那么,我该如何解决这个问题呢?
1个回答

选项1(创建新的Mimetype)

您可以尝试为gpx文件创建一个新的MimeType(application/gpx)。
然后,您可以将gpxviewer设置为默认应用程序来打开它们。

对于整个系统

1) 将新的MimeType添加到gpxviewer.desktop文件中。

  • sudo nano /usr/share/applications/gpxviewer.desktop

添加以下行:

MimeType=application/gpx;

enter image description here

使用 Ctrl+O 保存 nano 中的更改,然后按下 Enter,最后按下 Ctrl+X

2) 创建新的 MimeType。

  • sudo nano /usr/share/mime/application/gpx.xml

将以下内容添加到 gpx.xml 文件中:

<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="application/gpx">
    <comment>GPX Files</comment>
    <generic-icon name="text-html"/>
    <glob pattern="*.gpx"/>
  </mime-type>
</mime-info>

使用 Ctrl+O 保存nano中的更改,然后按下 Enter 再按下 Ctrl+X

注意:根据您的需求更改文件内容。

3) 注册Mimetype。

  • sudo xdg-mime install --novendor --mode system /usr/share/mime/application/gpx.xml

4)gpxviewer应用程序设置为默认打开gpx文件。

  • sudo xdg-mime default gpxviewer.desktop application/gpx

5) 要查看更改,您可以注销并重新登录或运行以下命令:

  • sudo -i

  • update-mime-database /usr/share/mime

结果:

enter image description here

enter image description here

enter image description here


选项2(在application/xml中添加gpxviewer到列表)

适用于系统级别

1) 在gpxviewer.desktop文件中添加"application/xml" MimeType。

  • sudo nano /usr/share/applications/gpxviewer.desktop

添加以下行:

MimeType=application/xml;

使用Ctrl+O保存更改,然后按EnterCtrl+X退出nano。

2) 更新数据库。

  • sudo -i
  • update-desktop-database

enter image description here

enter image description here

注意:要将gpxviewer设置为打开MimeType为application/xml的默认应用程序...只需运行:
xdg-mime default gpxviewer.desktop application/xml

根据评论编辑

正如Glutanimate所说..你可以为单个用户而不是全局设置此项,你可以创建MIME类型并添加用户的默认应用程序,就像这样Answer

~/.local/share/mime/packages目录中进行更新,使用命令update-mime-database ~/.local/share/mime

~/.local/share/applications/mimeapps.list文件中添加关联,同时你可以复制/创建一个.desktop文件到~/.local/share/applications/目录中。


希望这能有所帮助。

非常感谢您提供的详细答案。我使用了第一个选项,效果非常好(但需要注销/登录)。 - Salem
@Salem..很高兴能帮忙,是的,你对第一个选项需要注销/登录是正确的。我会编辑答案并添加进去。谢谢。 - Roman Raguet
@RomanRaguet 不一定需要注销/登录,你可以直接更新mime数据库 - Glutanimate
@RomanRaguet 我建议不要直接修改系统级的启动器,因为每次更新都会重置。最好的办法可能是在用户的 ~/.local/share/applications/mimeapps.list 中添加一个条目。 - Glutanimate
@Glutanimate...谢谢你的评论,我已经编辑了我的回答。请随意添加更多信息。 - Roman Raguet