由於linux下對chm支持常常出現亂碼,因此乾脆用firefox的chm插件打開chm文件就ok了 /usr/share/applications/defaults.list 由於我是要打開chm,主要是複製一段text/chm firefox.Desktop 就能夠了不過,這個類型不肯定是否是file/chmlinux
在Gnome的文件管理器(nautilus)裏,雙擊一個文件的時候,系統會自動調用相應 的程序去打開這個文件。在Nautilus裏經過右鍵菜單當然能夠修改默認的打開方式,可是缺少靈活性和可操做性,好比,不能刪除一些候選的打開方式,不 能批量增長一些打開方式等等。web
GNMOE的打開方式的配置方式涉及到如下幾個目錄和文件: /usr/share/applications ~/.local/share/applications /usr/share/applications/mimeinfo.cache ~/.local/share/applications/mimeinfo.cachevim
去這幾個目錄看一下,就會發現不少以.desktop爲後綴的文件。 你能夠手動修正部分打開方式錯誤的緩存
如app
vi preferred-web-browser.desktop [Desktop Entry] Version=1.0 Encoding=UTF-8 Type=ApplicationExec=/usr/local/softbase/firefox/firefox TryExec=/usr/local/softbase/firefox/firefox Name=Preferred Web Browser GenericName=Web Browser Comment=Browse the Web Icon=redhat-web-browser.png Terminal=false X-Panel-Monitor=true NoDisplay=true編碼
修改完成後,就能夠解決打開方式命令行參數錯誤的問題,而後右鍵選擇默認打開方式便可firefox
從整體上講/usr/share/applications/defaults.list保存了全局的打開方式; ~/.local/share/applications/ 目錄下保存了我的的打開方式【候選方式以及個性打開方式】;當兩着不一致是,優先採用局部的我的設置。插件
cd ~/.local/share/applications 刪除無用的打開方式,候選打開方式裏面就不會再有 如rm -rf wine* 便可【此時當即生效,全部wine相關的候選菜單不會再有命令行
vi mimeapps.list 處理當前右鍵菜單以及默認打開方式【當即生效】it
rm -rf ~/.local/share/applications/mimeinfo.cache 【或者先察看下】
/usr/share/applications
這兩個分別是局部的desktop項和全局的desktop項
/usr/share/applications/mimeinfo.cache ~/.local/share/applications/mimeinfo.cache
這兩個分別是全局的和局部的打開方式緩存,想刪除某種打開方式,或者修改默認的打開方式,在這裏刪除或改變順序便可。
/usr/share/applications/defaults.list的結構 是這樣的一種形式
程序的類型/文件類型=打開這個文件的項;[項2;]…[項n;]
候選打開方式能夠有好幾種中間用;隔開,不留其他字符 要修改一個文件的打開方式,須要先肯定這個文件的類型 以純文本文件爲例 類型是plain 打開方式默認爲vim.desktop候選的是firefox.desktop text/plain=vim.desktop;firefox.desktop
能夠直接編輯
~/.local/share/applications/defaults.list
編輯完以後,手工修改
/usr/share/applications/mimeinfo.cache ~/.local/share/applications/mimeinfo.cache
這兩個cache文件。
下面看一下*.desktop文件的結構 [Desktop Entry] Encoding=UTF-8 //字符編碼 Name=vim //現實的名字 MimeType=text/plain; //類型 Exec=vim %f //運行的程序 %f表示一個參數 Type=Application //類型 Terminal=true //是否使用終端 NoDisplay=true //是否顯示在gnome菜單裏[指panel菜單】,固然desktop刪除,也不會顯示在pannel裏。