Ne oluyor
Bunun gibi sorunlar Unity'nin uygulama eşleştirme çerçevesi ile ilgilidir. Teknik detayları basitleştirmek için, program pencereleri ve uygulamaları Ubuntu için iki ayrı şeydir. Ubuntu hangi uygulamanın belirli bir pencereye sahip olduğunu tahmin etmelidir. Ve bazen bu tahmin başarısız olur ve fırlatıcıda bir soru işareti belirir.
Başarısızlık nedeniyle olabilir:
- BAMF'deki bir hata (yukarıda belirtilen uygulama eşleme çerçevesi).
- Hatalı bir uygulama açıklaması (aka '.desktop' dosyası).
- Herhangi bir uygulama açıklamasının olmaması. Pencereleri başlatan çalıştırılabilir dosyaların içeriğinde bu meta veriler yoktur.
Soruda gösterilen uygulama (KeePass2) , uygun hata izleyiciye rapor edilen tip 1 probleminden muzdarip .
Sorun örnekleri
Aşağıdaki örnekler, kendi uygulamalarının Ubuntu başlatıcısında düzgün şekilde görüntülenmesini isteyen programcılara yönelik tekniktir.
Sorun 3 - Uygulama açıklaması yok
Bir uygulamanın Unity ile bütünleşmesi için - yani, Dash’de aranabilir ve başlatıcıya yerleştirilebilir - bir masaüstü girişine sahip olması gerekir. Bu girişler yerleştirilir /usr/share/applications/
, /usr/local/share/applications/
ve $HOME/.local/share/applications/
(son ikisi, üçüncü taraf yazılım için olan sistem genelinde ve kullanıcı sadece sırasıyla). Bir .desktop
uzantıyla bitiyorlar ve şu temel formatı takip ediyorlar :
[Desktop Entry]
Type=Application
Name=My Application's Name
Icon=/file/path/of/my/icon
Exec=/file/path/of/my/executable
Bu giriş, bir programı Exec
çalıştırılabilir dosyayı çağırarak başlatır . Bu program bir pencere veya iletişim kutusu görüntülediğinde, Unity, çalıştırılabilirliğinin bu uygulama açıklamasına "ait" olduğunu fark eder ve verilen Name
ve Icon
başlatıcıyı kullanır.
Bu bir barebones örneğidir. Eforu birçok gelişmiş özellik kapsar.
Problem 2 - Hatalı uygulama açıklaması
my_app.desktop
Geçerli bir uygulama dizininde bulunduğunu varsayalım , ancak:
/file/path/of/my/icon
dosya sisteminde yok.
/file/path/of/my/icon
bir resim değil.
- giriş bazı yanlış sözdizimi veya geçersiz etiketler kullanıyor.
Yukarıdaki durumlardan herhangi birinde, Ubuntu, uygulama penceresini başlatıcıda düzgün şekilde listeleyemez.
Sorun 1 - BAMF’da bir hata
Ubuntu 11.10'dan itibaren, BAMF'ın doğru uygulama eşleşmesini engelleyen bir takım hataları var. Yaygın (geçici) tuzaklar şunlardır:
Exec
Bir varlık yolu sembolik bağlantıyı düzenli dosyası yerine
- Yürütülebilir dosya, ana çalıştırılabilir dosyayı başlatan bir komut dosyasıdır.
Bu durumlarda, programcıların sembolik bağlantı soyutlamasını kaldırmak veya doğrudan çalıştırılabilir dosyaya bağlamak gibi bir geçici çözüm kullanmaktan başka seçeneği yoktur. Bunların hiçbiri masaüstü giriş belirtiminin kendisi için gerekli değildir.