如何讓我的 .desktop 應用程式全球化?

如何讓我的 .desktop 應用程式全球化?

我有一個.desktop運行 shell 腳本的應用程序,雙擊該應用程式時,該 shell 腳本運行 python 程式碼,我希望能夠從筆記型電腦上的所有目錄啟動它,並保持圖標穩定,即使圖像或圖標或應用程式的目錄已更改!

如何讓我的應用程式全球化?

答案1

從 Zany_Zachary 建議的答案中可以明顯看出,/usr/share/applications所有使用者都可以使用 中的啟動器。下面的啟動器~/.local/share/applications僅適用於目前使用者。當啟動器位於這些位置時,您的桌面選單或啟動器將拾取它。該位置/usr/share/applications是作業系統的軟體管理系統 APT 使用的目錄,因此,儘管它可以工作,但您不應該將自訂.desktop檔案放在那裡。相反,使用資料夾/usr/local/share/applications。預設情況下,Ubuntu 上不存在該資料夾,因此您可能需要先建立它。

這就是您標題中的“全球”最容易理解的方式。但是,在您的問題中,您建議在“全局”下您也理解“便攜式”的東西,即即使圖標或應用程式更改了位置,它也應該繼續工作。儘管如此,您仍然必須遵守作業系統放置圖示或可執行檔案的約定。因此,不存在“全局”.desktop啟動器這樣的東西,無論您將圖標或可執行文件放置在何處,它都可以繼續工作。

這種「可移植性」是有限制的。一方面,圖示或可執行檔案的名稱無法更改,因為該名稱是硬編碼在.desktop檔案中的。但是,您可以省略檔案中的路徑.desktop,但是您必須將圖示和可執行檔案放置在作業系統搜尋到的特定位置。

圖示

圖示在.desktop文件中定義就行了Icon=

如果您僅提供圖示名稱(不含副檔名),則作業系統將搜尋 ~/.icons首先~/.local/share/icons,然後搜尋系統範圍的圖示目錄,主要在/usr/share/icons和下/usr/local/share/icons。選單系統將選取這些資料夾之一中具有.png或副檔名的圖形檔案。.svg如果沒有找到相應的圖形文件,系統將恢復為預設的後備圖示。

應用程式

可執行檔定義在.desktop檔案中就行了Exec=

同樣,如果未提供完整檔案路徑,系統將在預先定義路徑中搜尋符合名稱的可執行檔。您可以查看資料夾及其使用該echo $PATH命令搜尋的順序。

答案2

問候!

要使您的 .desktop 檔案全域化,只需:

將其放入/usr/share/applications

僅適用於一個帳戶,將其放入/home/$USER/.local/share/applications


不幸的是,當圖像檔案移動時,您無法使圖示保持不變。我建議建立一個資料夾,其中包含您的應用程式圖示。將此資料夾放入/usr/share.

相關內容