如何根据文件扩展名而不是 MIME 类型设置默认应用程序?

如何根据文件扩展名而不是 MIME 类型设置默认应用程序?

我有扩展名为 .txt、.sln 和 .csproj 的文件,它们的 mime 类型均为 text/plain。但它们应该由不同的程序打开。.txt - 由 Vim 打开,.sln 和 .csproj - 由 Rider 打开。我该如何实现这一点?

答案1

这里https://askubuntu.com/a/736954/976481解释了如何根据文件扩展名创建自定义 MIME 类型。我不得不将他们的解决方案更改如下:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="text/solution">
       <comment>Rider solution file</comment>
       <glob pattern="*.sln"/>
    </mime-type>
</mime-info>

并将此文件作为 rider.xml 添加到 /usr/share/mime/packages。

它确实有效,但看起来仍然像黑客攻击。有没有更简洁的方法来实现这一点?

相关内容