Gnome3
如何將應用程序添加到 GNOME 應用程序菜單?
我有一個僅從命令行啟動的應用程序。如何將命令(最好是漂亮的徽標)添加到 Gnome 的應用程序菜單?
在GNOME和其他與freedesktop.org兼容的桌面環境(例如KDE和Unity )中,應用程序通過桌麵條目添加到桌面的菜單或桌面外殼中,這些條目在具有副檔名的文本文件
.desktop
(稱為桌面文件)中定義。桌面環境根據從可用桌麵條目中提取的組合資訊為使用者建構菜單。桌面文件可以在以下兩個位置之一創建:
/usr/share/applications/
系統中每個使用者都可以使用的桌麵條目~/.local/share/applications/
對於單個使用者可用的桌麵條目您可能需要重新啟動 GNOME 才能使新添加的應用程序正常工作。
按照慣例,桌面文件的名稱中不應包含空格或國際字元。
每個桌面文件都分為組
[]
,每個組都以方括號 ( )中的組標題開頭。每個部分包含許多鍵、值對,用等號 (=
) 分隔。以下是桌面文件的範例:
[Desktop Entry] Type=Application Encoding=UTF-8 Name=Application Name Comment=Application description Icon=/path/to/icon.xpm Exec=/path/to/application/executable Terminal=false Categories=Tags;Describing;Application
解釋
[Desktop Entry]
組標頭將Desktop Entry
文件標識為桌麵條目Type``Application
條目的類型、 有效值為Link
和Directory
Encoding
桌面文件 的字元編碼Name
在菜單或啟動器中可見的應用程序名稱Comment
工具提示中使用的應用程序的描述Icon
在菜單或啟動器中為應用程序顯示的圖示Exec
用於從 shell 啟動應用程序的命令。Terminal
應用程序是否應該在終端中執行,有效值是true
或false
Categories
分號 (;
) 分隔的菜單類別列表,其中應顯示條目鍵中的命令行參數
Exec
可以用以下變數表示:
%f
單個文件名。%F
多個文件名。%u
單個 URL。%U
多個網址。%d
一個目錄。與 結合使用%f
來定位文件。%D
多個目錄。與 結合使用%F
來定位文件。%n
沒有路徑的單個文件名。%N
沒有路徑的多個文件名。%k
桌面文件位置的 URI 或本地文件名。%v
設備條目的名稱。請注意,
~
環境變數或類似的環境變數$HOME
不會在桌面文件中展開,因此引用的任何執行檔必須位於$PATH
或通過其絕對路徑引用。GNOME 開發中心提供了完整的桌麵條目規範。
啟動腳本
如果要啟動的應用程序需要在呼叫之前完成某些步驟,您可以創建一個啟動應用程序的 shell 腳本,並將桌麵條目指向 shell 腳本。假設應用程序需要從某個目前工作目錄執行。
~/bin/
在合適的位置(例如)創建啟動腳本。該腳本可能類似於以下內容:#!/bin/bash pushd "/path/to/application/directory" ./application "$@" popd
設置腳本的可執行位:
$ chmod +x ~/bin/launch-application
然後
Exec
將桌麵條目中的鍵指向啟動腳本:Exec=/home/user/bin/launch-application