![32c8c2ad3f1c90cce7b08ace978fe7a1.png](https://i-blog.csdnimg.cn/blog_migrate/e66b9e422b009ed13136b10eb2348c5e.jpeg)
这个需求,我很早就已经有了。比如,我之前手动安装了Typora,但一直没有设置好默认打开方式。在Deepin系统下右击.txt或.md文件,在「打开方式」及其下级选项「选择默认程序」下都无法直接看到Typora的快捷方式,使用「添加其他程序」按钮,找到相应执行文件后,也只能打开软件而无法直接打开文件。那我何必这么找呢,不如直接从「开始」菜单那里先打开Typora了。
所以,我就开始找解决办法。真找到了。现在就分享给大家,以供参考。这里的例子,也就是设置Typora默认打开纯文本文件如.txt、.md。
首先,我从https://www.cnblogs.com/Felix-F/p/3267800.html,得知了修改文件关联所直接需要的特定文件,大致的路径等信息如下:
全局文件关联:/usr/share/applications/default.list
个人文件关联:~/.local/share/applications/mimeapps.list
在这里,我们仅需修改「个人文件关联」即可。据说,二者不一致时,会首先采用个人文件关联。
我的最低需求是,能用Typora打开纯文本文件,其后缀名为txt或md。据此,打开mimeapps.list(无论您是用文件管理器及带GUI的程序还是用命令行等等,都行),并在其中[Default Applications]
(「默认程序」)下添加一行代码如下:
text/plain=Typora.desktop
根据https://blog.csdn.net/dadoneo/article/details/6076359处所言,该行代码的格式则为:
程序类型/文件类型=打开这个文件的项[;项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打开。暂无异常。
![884e5b89a01057675cba39c6fe5a72b3.png](https://i-blog.csdnimg.cn/blog_migrate/8df33c4535b715fbf7e29d1ab88db788.jpeg)