这篇文章只分析Ubuntu 12.04右键菜单中的打开程序这一部分,包括新增、删除、更改Open with选项。
先以.csv文件为例(也就是下面菜单的前四行):
第一行下面有个分割线,说明这是该文件的默认打开方式,如果该文件具有可执行属性这里不会显示默认程序了,而是简单的Open一个词,点击后会有提示运行还是查看。
接下来的三行(取决于你设置了几个关联程序)就是关联程序了。点击其中的最后一行“Open With Other Application...”就会打开选择程序列表,这点和Windows类似。
找不到想要的程序?在/usr/share/applications/下添加一个以.desktop结尾的文件即可。详情Google。
当关联的程序大于等于三个时(不包括默认程序)菜单会层叠。
关键来了,如何修改这些菜单项呢?
主要和3个文件有关,分别是
/usr/share/applications/default.list
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeapps.list
前两个为系统文件需要root权限才能更改(不建议),第三个为用户文件,可以直接修改。
default.list中为文件格式的默认程序,也就是显示在菜单的第一行。
mimeinfo.cache中为文件格式的关联程序,可以设置多个。
mimeapps.list中的设置会覆盖前两个文件。
mimeapps.list中有[Default Applications]、[Added Associations],分别对应前两个文件。
demo如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
[Default Applications]
text
/html
=google-chrome.desktop
x-scheme-handler
/http
=google-chrome.desktop
x-scheme-handler
/https
=google-chrome.desktop
x-scheme-handler
/about
=google-chrome.desktop
x-scheme-handler
/unknown
=google-chrome.desktop
application
/x-trash
=gedit.desktop
[Added Associations]
application
/x-trash
=sublime.desktop;
application
/x-php
=sublime.desktop;
application
/javascript
=sublime.desktop;
|
如果默认程序和关联程序重复,只会显示默认程序。(如果某文件又具有可执行属性,那么右键菜单中只会显示Open/Open With Other Application...两个选项,其他功能的选项当然是在的^_^)
如果右键菜单没有看到效果,可能是你自己的 desktop 没有写对,可参考下面链接对desktop参数的描述:
http://zhidao.baidu.com/link?url=WtCPec1H6yPuJtGKhpwuENmFY0TkDls-lZnczlf49LkroXyKrk30JGKhOKaKlibF9sGtmdfNgELCXD2cYxUUb_
笔者是因为
Exec=kmail --attach %u #%u代表当前鼠标选中的对象
这个选项中 没有指定%u的选中对象。