添加URL
分享
Linux下自定义文件默认打开方式

Linux下自定义文件默认打开方式

这个需求,我很早就已经有了。比如,我之前手动安装了Typora,但一直没有设置好默认打开方式。在Deepin系统下右击.txt或.md文件,在「打开方式」及其下级选项「选择默认程序」下都无法直接看到Typora的快捷方式,使用「添加其他程序」按钮,找到相应执行文件后,也只能打开软件而无法直接打开文件。那我何必这么找呢,不如直接从「开始」菜单那里先打开Typora了。

所以,我就开始找解决办法。真找到了。现在就分享给大家,以供参考。这里的例子,也就是设置Typora默认打开纯文本文件如.txt、.md。


首先,我从 cnblogs.com/Felix-F/p/3 ,得知了修改文件关联所直接需要的特定文件,大致的路径等信息如下:

 全局文件关联:/usr/share/applications/default.list
 个人文件关联:~/.local/share/applications/mimeapps.list

在这里,我们仅需修改「个人文件关联」即可。据说,二者不一致时,会首先采用个人文件关联。

我的最低需求是,能用Typora打开纯文本文件,其后缀名为txt或md。据此,打开mimeapps.list(无论您是用文件管理器及带GUI的程序还是用命令行等等,都行),并在其中 [Default Applications] (「默认程序」)下添加一行代码如下:

 text/plain=Typora.desktop

根据 blog.csdn.net/dadoneo/a 处所言,该行代码的格式则为:

 程序类型/文件类型=打开这个文件的项[;项2]...[;项n]

后面的选项可以不止一个,各项间仅需隔以半身的 ;

根据例如我本人的需求,如需打开纯文本文件,则应选的类型为 plain ,应选的打开方式为比如 Typora.desktop

如果其他条件具备,则这样设置就可以实现需要了。


不过,由于我的Typora.desktop文件好像也是自己手动填写的,有些参数存在问题,没法直接实现。故还需修改相关.desktop文件。 如果您也没有相应软件的.desktop文件,请您先行处理好这个问题。

现在,要进入 /usr/share/applications 路径下,找到相应.desktop文件,比如我的就是 Typora.desktop 。用合适的软件打开此文件之后,尤其要注意如下选项: Categories Exec MimeType 等。

首先,在选项 Categories 中添加了参数 TextEditor ,意思是「文本编辑器」云云。这个参数可能会有影响,但我也不确定,最好加上吧。

其次,我看到有人在 Exec 后面加上了参数 %F ,据说关联于如何打开文件,所以我也加上了。现在成了例如 Exec=/opt/Typora-linux-x64/Typora %F

最后,需要添加选项 MimeType 。我从Deepin自带的文本编辑器那里复制了其参数。直接复制过来的,因为二者的基本性质差不多。代码如下:

 MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-patch;text/x-adasrc;text/x-chdr;text/x-csrc;text/css;application/x-desktop;text/x-patch;text/x-fortran;text/html;text/x-java;text/x-tex;text/x-makefile;text/x-objcsrc;text/x-pascal;application/x-perl;application/x-perl;application/x-php;text/vnd.wap.wml;text/x-python;application/x-ruby;text/sgml;application/xml;model/vrml;image/svg+xml;application/json;

虽然有很多细节及其作用还不清楚,但这样修改之后,确实实现了需要。见下图。而且直接双击打开相应文件时,也能直接用Typora打开。暂无异常。

发布于 2020-06-25