Neden bazı açık uygulamalar Unity başlatıcısında “soru işaretleri” olarak görünüyor?

22

Birleştiricilerin bir arada olduğu ancak başlatıldıktan sonra ayrı bir simge oluşturdukları birkaç programla ilgili bir sorun yaşıyorum. Başlatıcı, daha iyi organize etmek için kullandığı pencereleri takip etmek mümkün mü? Yoksa bu birliğin kendisinde mi?

Farketmez ama bu özel program mono bir programdır ve oluşturulan simge panel olarak listelenir.

    
sordu Andrew Redd 26.10.2011 19:01

3 cevap

23

Neler oluyor

Bunun gibi sorunlar, Birliğin uygulama eşleştirme çerçevesiyle ilgilidir. Teknik detayları basitleştirmek için, program pencereleri ve uygulamaları Ubuntu'ya iki ayrı şeydir. Ubuntu'nun hangi uygulamanın belirli bir pencereye sahip olduğunu tahmin etmesi gerekiyor. Ve bazen bu tahmin başarısız olur ve başlatıcıda bir soru işareti görünür.

Başarısızlık nedeniyle olabilir:

  1. BAMF 'daki bir hata (yukarıda belirtilen uygulama eşleştirme çerçevesi).
  2. Hatalı bir uygulama açıklaması (aka '.desktop' dosyası).
  3. Hiçbir uygulama açıklamasının olmaması. Pencereleri başlatan yürütücüler, bu meta verilere doğal olarak sahip değildir.

Soruda (KeePass2) gösterilen uygulama, uygun hata izleyicisine raporlanan bir tür sorundan muzdariptir. .

Sorun örnekleri

Aşağıdaki örnekler, Ubuntu başlatıcısında düzgün bir şekilde kendi uygulamalarının görüntülenmesini isteyen programcıları hedefleyen tekniklerdir.

Sorun 3 - Uygulama açıklaması yok

Bir uygulamanın Birlik ile bütünleşmesi için (yani, Dash'ta aranabilir ve başlatıcıya yerleştirilebilir) bir masaüstü girişine sahip olması gerekir. Bu girişler /usr/share/applications/ , /usr/local/share/applications/ ve $HOME/.local/share/applications/ (bu ikisi de üçüncü taraf yazılımlar, sistem çapında ve yalnızca kullanıcı için) olarak yerleştirilir. % Co_de% uzantısıyla sona eriyor ve bu temel biçimi takip ediyor:

[Desktop Entry]
Type=Application
Name=My Application's Name
Icon=/file/path/of/my/icon
Exec=/file/path/of/my/executable

Bu giriş, .desktop yürütülebilir dosyasını çağırarak bir program başlatır. Bu program bir pencere veya iletişim kutusu görüntülediğinde, Unity, yürütülebilir dosyasının bu uygulama açıklamasına "ait olduğunu" ve başlatıcıda belirtilen Exec ve Name değerini kullanacağını fark edecektir.

Bu bir barebone örneğidir. resmi belirtim birçok gelişmiş özelliği kapsar.

Sorun 2 - Hatalı uygulama açıklaması

Icon dosyasının geçerli bir uygulama dizininde olduğunu varsayalım:

  • Dosya sisteminde my_app.desktop bulunmuyor.
  • /file/path/of/my/icon bir görüntü değil.
  • giriş bazı yanlış sözdizimi veya geçersiz etiketler kullanıyor.

Yukarıdaki durumların herhangi birinde, Ubuntu, uygulama penceresini başlatıcıda düzgün bir şekilde listeleyemeyecektir.

Sorun 1 - BAMF'deki bir hata

Ubuntu 11.10'dan itibaren, BAMF'de doğru uygulama eşleşmesini engelleyen birtakım hatalar var. Ortak (geçici) tuzaklar şunları içerir:

  • /file/path/of/my/icon yolu, normal bir dosyadan ziyade simgesel bağlantı
  • Yürütülebilir yürütülebilir dosyayı başlatan bir komut dosyası.

Bu gibi durumlarda, programcıların sembolik bağlantı soyutlamasının kaldırılması veya doğrudan yürütülebilir dosyaya bağlanması gibi bir geçici çözüm kullanma seçeneği yoktur. Bunların hiçbiri, masaüstü giriş belirtiminin kendisi tarafından istenmez.

    

verilen cevap Jjed 07.11.2011 03:12
1

Pencere, WM_CLASS özelliği ayarlanmışsa yalnızca uygulama ile eşleştirilebilir. Bunu X11'de yapmak için:

XSetClassHint( display, window, &class_hints );

'res_name' ve 'res_class' alanlarına sahip bir XClassHint yapısına bir işaretçi göndermeniz gerekir.

    
verilen cevap Bram 10.08.2013 08:14
-1

16.04'te grileşmiş simgeleri de dahil olmak üzere birkaç sorunla karşılaştım ve bazen touchpad düzensiz (Acer V15 nitro) hale geldi ve yazılım merkezi (belki de diğer simgeler de) simgeden açılmıyordu (yalnızca bir terminal komutundan) . Gnome yazılımını kaldırmak ve yeniden yüklemek için bir yerde bir öneri buldum. Bunu yaptığımdan beri, tüm sistem% 100 kararlı ve artık grileştirilmemiş simgeler ve mükemmel çalışıyor. Bu değişiklikten sonra yeniden başlattığımda başlangıçta korkunç görünüyordu - yeniden başlatma sırasında birçok sistem mesajı - kendi riskinizle yapın.

sudo apt-get autoremove gnome-software && sudo apt-get install gnome-software
    
verilen cevap Steve 21.08.2016 09:50

Etiketlerdeki diğer soruları oku