如何在 Nautilus 中按文件扩展名而不是按 MIME 类型设置首选应用程序?

Pat*_*gen 2 gnome mime-types nautilus ubuntu

我经常使用几种纯文本文件,其中一些是我想在程序员的文本编辑器中打开的代码文件,其他是我只想在 gedit 中查看的大(千兆字节或更多)数据文件。不过,Nautilus 的文件关联系统根据它对 mime 类型的确定,将所有这些文件视为纯文本文件,并且只为所有这些文件保存一个首选应用程序。

在 gedit 中编辑代码并不出色,但是在我相对重量级的代码编辑器中不小心打开了一个大数据文件,让我的系统爬了几十分钟。

有没有办法设置文件关联系统以使用文件扩展名而不是 mime 类型?或者其他一些解决方案可以让我按文件扩展名设置不同的首选项?

谢谢!

Set*_*eth 6

您可以mimeopen根据扩展名设置用于打开文件的应用程序。

运行mimeopen后跟要更改的文件扩展名。例如,如果我想.py在 Geany 而不是 Gedit 中打开(python)文件,我会运行:

mimeopen .py  
Run Code Online (Sandbox Code Playgroud)

哪个返回(在我的系统上,这将略微取决于您在计算机上安装的软件):

Please choose a default application for files of type text/x-python

1) Geany  (geany)
2) notepad  (wine-extension-txt)
3) gedit  (gedit)
4) LibreOffice 4.0 Writer  (libreoffice4.0-writer)
5) Other...

use application #  
Run Code Online (Sandbox Code Playgroud)

输入1并按下Enter.py在 Geany 中打开一个空白文件,并将所有其他.py文件设置为在该编辑器中打开。

如果我输入5并按下Enter我会得到提示:

use command:  
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我可以使用程序的命令打开我当前正在更改的任何文件类型。

所以我可以这样做:

mimeopen .py  
Run Code Online (Sandbox Code Playgroud)

使用5并放置geany作为命令以获得相同的结果:

您可能会注意到,如果您mimeopen .py再次运行,它将.py在 Geany(或您选择的任何应用程序)中打开一个新文件,而不是询问您要使用什么应用程序。在这种情况下,您需要使用-a句柄,如下所示:

mimeopen -a .py
Run Code Online (Sandbox Code Playgroud)