Linux 中注册新的文件类型和添加文件打开方式的方法

十一月 11, 2011

这种情况通常发生在非计算机的专业领域中:有时电脑不认识某种特殊的文件类型,或者干脆就认错了,导致其根本无法使用。比如,SPSS 产生的是扩展名为 sav 的数据文件和 spv 的统计结果文件,而即使安装了 Linux 版的 SPSS,安装程序也不会关联这些文件,导致打开它们非常麻烦。在我的电脑上,系统把扩展名为 spv 的认为是 “Zip 归档文件”,试图用归档管理器打开,显然错啦!

original

另外,你还会发现,从 Ubuntu 11.10 以后,系统好像变得吝啬了:它虽然也可以给文件设置多个打开方式,但只能从有限个列表里面“选”,无法自己随便添加,估计是出于安全的考虑,怕新手添加了错误的打开方式而导致文件损坏,Linux 的平民化又进了一步?

所以,事情要分两步来做:(1)注册一个新的文件类型,好让系统知道这是什么格式的文件,不要乱猜。(2)给这个新的文件类型添加一种打开方式。下面我就以图中的 spv 文件(其实是 SPSS 结果查看文件)为例说明具体操作步骤。

(1)注册一个新的文件类型

这里要向大家推荐一款软件:assogiate(晕死,不知是谁想出来的诡异名字),专门用于查看系统中已有的文件类型,并且可以修改、新增、删除文件类型。但是,删除是有限制的:只能删除你自己新增的文件类型,不能删除原来已有的,甚至连 root 都不能删除!

首先,从软件管理器中安装 assogiate,运行它,你会看见一大堆文件类型列表(看你电脑上安装了多少软件,因为大部分软件都会很聪明地向系统报告自己特有文件类型和打开方式,本文就是专门为那些“不聪明”的软件准备的 ^_^)。你想自己看一看也可以,不想看也罢,直接点击工具栏上的 New 新建一个文件类型,就会看到一个对话框。

首先填写“General”,Category 可以随便选,看看英文意思,选择自己喜欢的一个;Name 自己写一个,最好只写英文,不要出现其它特殊字符(如果心里没底,就参考已有的列表写嘛);Description 自己写,可以写中文。三项中最重要的是 Name。填完以后如下图所示:

New MIME type

填完之后切换到 File Name 选项卡,这一行最重要了,指定文件扩展名,点击 Add,输进去,比如 *.spv,然后就是这样:

New MIME type

点击 OK,回到文件管理器,刷新一下,OK,现在电脑认出来了。

OK Now

可以选择该文件,点击右键选择“属性”,查看一下,请特别注意我用方框圈出来的部分,非常重要。

check MIME type

 

 这一步就完成了。

(2)给该类型的文件添加打开方式

如果在老版的 Ubuntu 中,给某个类型的文件自定义打开方式是很简单的:在上图的那个“属性”窗口中选择“打开方式”,从列表中选择一个,如果没有,就选择“自定义命令”即可。但是现在不行了,只能从它给的列表里面选,不能自定义。于是有人抱怨 Ubuntu 可定制行越来越差,其实不能这么冤枉别人,因为文件管理器是归 GNOME 项目管的,就算 Ubuntu 要修改,也不会改得如此面目全非,只能说 GNOME 3 由于现在尚不完善,隐藏了许多图形化设置,跟 Ubuntu 没有关系。

文件的打开方式可以在 ~/.local/share/applications/mimeapps.list 文件中编辑,打开这个文件,你会发现有一大堆“赋值表达式”,分在几块:[Default Applications]:表示该类型的文件默认用什么程序打开,直接双击就用这个程序打开;[Added Associations]:表示该类型文件可用额外的类型打开,可以在右键菜单列表中找到、[Removed Associations]:这个一般不用,不用理会

书写的格式是:

文件类型=所用的软件

如:

application/pdf=evince.desktop

表示 pdf 文件使用 evince 打开。等号左边的文件类型要按照上图中红框框起来的写,千万不能写错!

你会发现,所有等号右边都是 .desktop 文件。问题是上哪儿找 .desktop 文件去呢?一般来说,可以在 /usr/share/applications 目录下面找到(如果你安装了很多软件的话,该目录会非常大,小心!),然后把它复制到 ~/.local/share/applications/ 目录下面。一般来说,如果你系统使用了中文语言,则相应的 .desktop 文件可能也是中文,直接写进去会有问题,这是应该打开终端,切换到对应的目录,用 ls 命令查看出准确的文件名称(一定以 .desktop 结尾),然后就可以写进去了。

如果在 /usr/share/applications 目录下面还是没找到相应的 .desktop 文件,也别慌,可以自己建一个,从 /usr/share/applications 目录下面随便复制一个过来,先改名(名字不要加 .desktop),然后点击右键,选择“属性”,就出现如下配置窗口,把各个项目填进去,关键是把“命令:”这个栏目填写准确,就不会有问题,如果看着图标不爽的话,把它改掉:

顺便看下属性,一定要勾上“允许以程序执行文件”,否则会出问题

然后回到mimeapps.list 文件,在 [Default Applications] 栏目下(因为这是新的类型,所以当然是先设置默认打开方式,根据需要还可以设置附加打开方式),添加语句,比如我就这么写:

 

application/spss-viewer=SPSS.desktop

表示 spss-viewer 类型的文件(也就是之前指定的以 spv 为扩展名的文件)用 SPSS 打开。OK,回到文件管理器,选中文件,点击右键,看到下面就成功了:

OK Now

唔~~~~ 写得好辛苦啊!

------------------------------ 2011-11-12 补充

如果你觉得“添加打开方式”这一步实在太麻烦,没关系,还有一种比较简便的方法:安装 dolphin,这是 KDE 默认的文件管理器,用它可以非常方便地为文件指定打开方式,甚至还支持自定义命令(这一事实进一步说明现在所谓的可定制性问题大部分是 GNOME 的问题,和 Ubuntu 自己没有关系)

posted in Ubuntu/Linux by billzt

Follow comments via the RSS Feed | Leave a comment | Trackback URL

说点什么

7 评论 在 "Linux 中注册新的文件类型和添加文件打开方式的方法"

提醒
排序:   最新 | 最旧 | 得票最多
游客

ubuntu tweak 😀

游客

@婉秋, 哈哈,一般碰不到文件关联问题

游客

@婉秋, 现在 ubuntu tweak 不知对 11.10 支持如何,等 0.6 版

游客

我也碰不到文件关联问题。。。都是些视频 😆

游客

呼呼,昨天折腾安装 64位的 win7去了来迟啦。

Mark,已将此文保存为 odt 文档 😀

游客

恩,支持支持!

游客

dolphin
fedora带有
很爽

wpDiscuz
 

Copyright © 2010-2017 | Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org