linux案頭之菜單與檔案關聯簡介 一直都沒有搞懂 linux 案頭菜單和檔案關聯的問題,這下研究了一下,寫點小結。 接觸 linux 案頭就會與菜單和檔案關聯扯上關係,那怎麼手動修改呢。 菜單: 首先說菜單,菜單包含三個部分來完成。menu 檔案用來把 desktop 檔案集中起來形成菜單的樣式。
directory 檔案用來描述菜單的目錄階層,因為只有 desktop 檔案的話就沒有目錄的階層了。 menu 檔案的位置 全域:/etc/xdg/menus/ 個人:~/.config/menus/ www.2cto.com directory 檔案的位置 全域:/usr/share/desktop-directories/ 個人:~/.local/share/desktop-directories/ desktop 檔案的位置 全域:/usr/share/applications/ 個人:~/.local/share/applications/ 例如 xfce4 的 menu 檔案 /etc/xdg/menus/xfce-applications.menu 解釋: <DefaultAppDirs/> 說的就是到預設的路徑尋找desktop 檔案,也就是上面列出的目錄。 <DefaultDirectoryDirs/> 到預設的路徑尋找directory 檔案 <Filename> 可以直接插入一個 desktop 檔案條目 <Menuname>可以直接插入一個指定 name 的 menu <Merge type="all"/> 合并所有其它 menu <Category> 說的是一個類別,它會掃描所有的 desktop 檔案(可以去看一個 desktop 檔案,
它一般有一個變數就指定了程式應該屬於的分類)。把它包含在 <Include> 標識之間就是說在這裡
要插入所有 Category 是指定值的程式。 檔案關聯: 按照 http://forum.ubuntu.org.cn/search.php?search_id=egosearch [+] 的說法, /etc/gnome/defaults.list 儲存了全域的開啟檔案 ~/.local/share/applications/defaults.list 儲存了個人的開啟檔案 當兩著不一致是,優先採用局部的個人設定。 /usr/share/applications/mimeinfo.cache ~/.local/share/applications/mimeinfo.cache 這兩個分別是全域的和局部的開啟檔案緩衝 defaults.list 不是每個案頭環境都有的, xfce4 就沒有,所以就不可用。mimeinfo.cache
都就是緩衝了,所以一段時間後會重新整理,更改它也不起作用。事實上,需要修改的是 desktop 檔案。 www.2cto.com 對於 opera 來說,opera.desktop 檔案的最後幾行如下 ... Exec=opera %u Terminal=false Categories=Application;Qt;Network;WebBrowser;X-Ximian-Main;X-Ximian-Toplevel Icon=opera.png MimeType=text/html;text/xml;application/xhtml+xml;application/x-mimearchive;application/xml;application/rss+xml;application/rdf+xml;image/svg+xml;
image/gif;image/jpeg;image/png;image/x-bmp;image/x-xbm;application/mime Comment=Web Browser Type=Application 看它的 MimeType 屬性,可以看到它帶了太多的關聯,一般我都會去掉它帶的 image 關聯。
上面也可以看到 opera 是屬於哪個 Categories,所以我們一般都可以在 Network 目錄項中看到它。 Changelog ================== Linux Gnome案頭環境下功能表項目 desktop 檔案的儲存位置預設配置下,Linux Gnome 案頭環境下會有三個頂級下拉式功能表作為應用程式和系統工具的快捷入口
(Note: 尾碼為 desktop 的檔案,該類型的檔案有固定的格式,具體格式可以參考下面列出的目錄
中的檔案和參考中給出的連結指向的文章),這三個菜單分別是:應用程式,位置,系統。 “應用程式”
菜單下是按類別分組的應用程式的快捷入口,“位置“菜單下是使用者目錄和其他已掛載或者可掛載的分區,
“系統"目菜單下則是使用者組態工具和系統 組態工具的快捷入口。 通常情況下,使用者安裝的應用程式,一般都會在這三個頂級菜單下的某個分類裡建立對應的應用程式
快捷入口,但凡事總有個例外,更何況各個linux發 行版本身也可能會對 gnome 做一些調整,desktop
檔案以及字元編碼格式,甚至 desktop 檔案中指定的應用程式圖示不存在等諸多原因,導致安裝的程式
建立的菜單無法正常顯示也就不算奇怪了。 以 Ubuntu 10.04 LTS amd64 位元版本為例,儲存應用程式快捷入口的位置,大致有下面兩個: www.2cto.com ;儲存使用者的應用程式快捷入口~/.local/share/applications;儲存全域的應用程式快捷入口/usr/share/applications 以 root 許可權安裝的程式,其快捷入口大多建立在 /usr/share/applications 目錄下,也可以建立在 ~/.local/share/applications 目錄,而以使用者權限安裝的程式,則只能將快捷入口建立在 ~/.local/share/applications 目錄下。 使用 系統-喜好設定-主菜單 工具(程式名為 alacarte)建立的應用程式的快捷入口,建立在 ~/.local/share/applications 目錄下,並預設以 alacarte-made[-X].desktop 的格式命名,其中 X
是數字,使用者可以隨後重新命名這個檔案,菜單上顯示的內容不會改變。而在 主菜單 工具中刪除的快捷入口,
也不會真的刪除對應的 desktop 檔案,而只是將對應檔案中的 Hide 欄位的值改為 true。 知道了這些,如果再有某個快捷入口顯示不正常,也就大致能知道在哪裡找到對應的檔案,再比對其他
正常的檔案,就能修改錯誤,讓菜單顯示正常了。 除了上面儲存應用程式快捷入口的兩個目錄,還有幾個檔案用於儲存指定類型檔案的預設的開啟程式,
即檔案關聯程式,這幾個檔案分別是 /etc/gnome/defaults.list www.2cto.com /usr/share/applications/defaults.list /usr/share/applications/mimeinfo.cache ~/.local/share/applications/mimeapps.list ~/.local/share/applications/mimeinfo.cache 前面三個檔案儲存全域設定,後面兩個儲存使用者佈建。如果要修改 某個類型檔案的關聯程式,可以通過
直接修改這幾個檔案的方式實現。 作者 Start-up