
我想知道 Ubuntu 如何找出應用程式的正確名稱。例如,當您Open with -> Other application
從上下文選單中進行選擇時,您將看到此清單。
開發人員如何向 Ubuntu 傳授其應用程式的名稱,以及其他開發人員如何從系統中檢索應用程式的名稱?我不需要實際的程式碼,而我只對事物的概念方面感興趣。
答案1
這是在應用程式的桌面入口文件。桌面條目檔案是應用程式的啟動器(與您可以在桌面上建立的啟動器的檔案格式相同),其中還包含各種元資料。安裝應用程式時,這些桌面條目檔案會放置在 /usr/share/applications 中,我認為它們的內容也會被快取以提高速度。
這裡定義的重要資料是應用程式可以開啟的 MIME 類型清單。這是在桌面條目文件中的“MimeType”鍵中定義的。例如,GIMP 在其桌面條目中有以下內容:
MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;image/x-wmf;
這指定 GIMP 可以打開的文件類型清單。
應用程式名稱透過“名稱”鍵指定,例如。
Name=GIMP Image Editor
如您所見,名稱旁邊有圖示。這些也會在桌面條目檔案中指定為圖示名稱(從圖示主題中尋找正確的檔案)或圖示檔案路徑。 GIMP 具有以下功能:
Icon=gimp
在「開啟方式 -> 其他應用程式」對話方塊中,推薦應用程式是指定能夠開啟該檔案類型的應用程序,而其他應用程式是那些無法開啟該檔案類型的應用程式。
選擇應用程式後,檔案總管會尋找如何執行該應用程式來開啟檔案。它在桌面條目中尋找“Exec”鍵。 GIMP 有以下 Exec 鍵:
Exec=gimp-2.6 %U
這意味著該命令:
gimp-2.6 %U
將運行以開啟文件,並%U
替換為表示已選擇開啟的文件的 URL 清單(通常為 file:// url)。除了“%U”之外,應用程式還可以使用“%u”表示單一 URL,或使用“%f”/“%F”表示單一/多個檔案路徑。
答案2
這很容易。有 .desktop 檔案包含此資訊:
[Desktop Entry]
Name=Image Viewer
Comment=Browse and rotate images
Exec=eog %U
Type=Application
Categories=GNOME;GTK;Graphics;RasterGraphics;Viewer;
MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/x-bmp;image/x-gray;image/x-icb;image/x-ico;image/x-png;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-xbitmap;image/x-xpixmap;image/x-pcx;image/svg+xml;image/svg+xml-compressed;image/vnd.wap.wbmp;
您可以在 /usr/share/applications 中看到它們