2012-06-11 7 views
7

Tôi đã phát triển ứng dụng cho ubuntu bằng python bằng cách sử dụng nhanh chóng. Tôi đã đóng gói và đang hoạt động hoàn hảo nhưng tôi không thể tìm thấy cách thêm biểu tượng vào Ứng dụng của tôi hiện tại giống như biểu tượng trống.Cách thêm biểu tượng vào ứng dụng ubuntu

Tôi đã sử dụng Glade và gtk.

+2

Tôi đã viết một hướng dẫn về làm thế nào để làm điều này: http: // ptomato. github.com/advanced-gtk-techniques/html/desktop-file.html – ptomato

Trả lời

7

Cách tốt nhất là cài đặt "biểu tượng có tên". Để thực hiện điều này, tập lệnh cài đặt của bạn sẽ sao chép tệp vào một vị trí cụ thể phụ thuộc vào hệ thống của người dùng, nhưng thường là <datadir>/icons/hicolor/<size>/app/<app-name.png|svg> trong đó datadir giống như /usr/local/share. Kích thước biểu tượng được đề xuất tối thiểu thường là biểu tượng có thể mở rộng có định dạng SVG và biểu tượng PNG có kích thước 48x48 pixel.

Khi bạn đã sao chép biểu tượng vào đúng địa điểm, bạn có thể cập nhật bộ nhớ cache của GTK bằng lệnh gtk- update-icon-cache.

Khi bạn đã cài đặt một "tên biểu tượng", ứng dụng của bạn có thể gọi nó bằng cái tên:

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

Bây giờ, có một điều khác mà bạn sẽ cần phải làm, là cài đặt một "entry destop" tập tin. Chúng nói với Ubuntu (hoặc GNOME hoặc KDE hoặc Xfce) về ứng dụng của bạn để nó có thể được khởi chạy và cũng là biểu tượng của nó. Bạn tạo tệp theo số Desktop Entry Specification và sao chép tệp thành <datadir>/share/applicaions/ với tiện ích mở rộng tệp .desktop. Bạn có thể xem các ví dụ trong /usr/share/applications/ từ các ứng dụng được cài đặt trên hệ thống của bạn. Bạn cũng có thể sử dụng Desktop Entry Editor để tạo tệp .desktop. Trong tệp trên máy tính để bàn, biểu tượng cũng sẽ được đặt thành "biểu tượng có tên" của bạn.

Vì vậy, tất cả trong tất cả, để cài đặt một biểu tượng được đặt tên và một mục máy tính để bàn, bạn đang tìm kiếm cái gì đó như:

/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 không đúng cho hầu hết các tình huống; theo quy tắc Debian được dành riêng cho quản trị viên. Nên/usr/share/... – bootchk

+1

Một quản trị viên thường sẽ cài đặt một tarball nguồn và do đó tiền tố sẽ là/usr/share. Nếu bạn có tài nguyên để duy trì các bản phân phối nhị phân (.deb, .rpm, v.v.) thì bạn sẽ thực hiện theo các quy tắc phân phối như/usr –

+0

Có thể thêm biểu tượng vào nhà của một người không? Tôi đang cố gắng thêm một biểu tượng vào '~/.local/share/icons/hicolor /' nhưng tôi không thể –