强制文件扩展名使用特定应用程序打开(扩展名如.exe,.jpg,.mp4...)

强制文件扩展名使用特定应用程序打开(扩展名如.exe,.jpg,.mp4...)

我已经阅读过有关创建 .desktop 文件以在“使用其他应用程序打开”选项卡上使用但这不是我想要的,我希望能够单击 Dash 或 Nautilus 中的文件并能够使用指定的应用程序打开它。

比如我现在有这个案例:

当我点击EXE文件文件不会被 Wine 执行,而是得到以下内容:

在此处输入图片描述

如果我尝试在打开用上下文菜单选项就在那里。第一次从那里执行它没问题,但随后的几次 Wine 并未出现在主上下文菜单中:

在此处输入图片描述

然后我去了属性打开用Tab 查找 Wine。当我点击并搜索时,它既不在默认应用中,也不在推荐应用中显示其他应用程序

在此处输入图片描述

这不仅限于 EXE 扩展。MKV 文件、MP4 文件、JPG、PNG、MP3 甚至 SVG 和 CSS 也存在此问题。因此,我不想尝试找到一种解决某个问题的方法,而是想要一种可以解决任何类型的扩展的方法,它可以:

  • 将应用程序设为该扩展程序的默认应用程序
  • 当我右键单击文件时出现在 Nautilus 的上下文菜单中
  • 出现在文件属性窗口的“打开方式”选项卡上
  • 当我使用 Dash 单击文件时正确执行指定的应用程序

这听起来像是应用程序执行文件应该是常识,但事实并非总是如此。那么对于实际不起作用的情况,如何修复它。重置扩展程序?更新可以打开所述扩展程序的文件?通过命令行或 GUI 工具添加应用程序?

答案1

您可以使用命令mimeopen,在终端中转到 .exe 文件所在的文件夹并输入

mimeopen -d filename.exe

您将看到一个弹出菜单,您可以在其中看到一些选项,但还有一个选项“其他...”,选择此选项,然后键入您在终端中打开文件时将使用的命令,并将文件名替换为%f。因此在这种情况下,您需要输入wine %f

现在所有 exe 文件的默认关联都应更改为 wine。

或者,使用Ubuntu 调整如下所述将所有关联从 gedit 更改为另一个应用程序还将更改相关的默认应用程序。

答案2

在 Ubuntu 21.10(以及可能所有其他使用 GNOMES 文件管理器 Nautilus 的发行版)中,您还可以打开文件(Nautilus)-> 单击文件 -> 属性 -> 打开方式 -> 选择所需的应用程序 -> 设置为默认值。

在此处输入图片描述

不过要注意的是,文件扩展名并不是 GNOME 决定用什么程序打开文件的方式,而是基于文件类型(更好的解释这里)。

相关内容