2012-06-11 48 views
7

我已經開發了一個應用程序在ubuntu中快速使用python。 我打包了它,並且工作正常,但是我找不到如何將圖標添加到我的應用程序當前它像一個空白圖標。如何將圖標添加到Ubuntu應用程序

我已經使用了Glade和gtk。

+2

我已經寫了關於如何做到這一點的教程:HTTP:// ptomato。 github.com/advanced-gtk-techniques/html/desktop-file.html – ptomato

回答

7

最好的方法是安裝一個「命名圖標」。爲此,您的安裝腳本會將文件複製到依賴於用戶系統的特定位置,但通常是<datadir>/icons/hicolor/<size>/app/<app-name.png|svg>,其中datadir/usr/local/share類似。建議的最小圖標大小通常是一個帶有SVG格式的可縮放圖標和一個48x48像素的PNG圖標。

將圖標複製到正確的位置後,可以使用gtk- update-icon-cache命令更新GTK的緩存。

當你安裝了一個「命名圖標」,應用程序可以參考它的名字:現在

window = Gtk.Window 
window.set_icon_name("myapp") 

,你需要做的另一件事,是安裝一個「destop條目」文件。這些告訴Ubuntu(或GNOME或KDE或Xfce)關於您的應用程序,以便它可以啓動,也是它的圖標。根據Desktop Entry Specification創建文件,並使用.desktop文件擴展名將其複製到<datadir>/share/applicaions/。您可以從安裝在系統上的應用程序中看到/usr/share/applications/中的示例。您也可以使用Desktop Entry Editor來創建.desktop文件。在桌面文件中,圖標也會被設置爲您的「命名圖標」。

所以,這一切的一切,要安裝一個名爲圖標和桌面項,你看是這樣的:

/usr/local/share/applications/myapp.desktop 
/usr/local/share/icons/hicolor/scalable/apps/myapp.svg 
/usr/local/share/icons/hicolor/48x48/apps/myapp.png 
+1

/usr/local/share在大多數情況下都不正確;根據爲管理員保留的Debian規則。應該是/ usr/share/... – bootchk

+1

管理員通常會安裝源代碼tarball,因此前綴將是/ usr/share。如果你有足夠的資源來維護二進制發行版(.deb,.rpm等),那麼你應該遵循分發規則,如/ usr –

+0

可以將圖標添加到自己的家中嗎?我試圖給'〜/ .local/share/icons/hicolor /添加一個圖標,但我不能 –

相關問題