Yanıtlar:
Bu liste şu konumda bulunan .desktop dosyaları analiz edilerek oluşturulur:
/usr/share/applications
~/.local/share/applications
Uygulama başına birden fazla kullanıcı tabanı olabilir, örneğin banshee
varsayılan olarak üç .desktop dosyası olan medya oynatıcısı :
$ ls -1 /usr/share/applications/banshee*
/usr/share/applications/banshee-1-audiocd.desktop
/usr/share/applications/banshee-1.desktop
/usr/share/applications/banshee-1-media-player.desktop
Bu dosyalar arasındaki tek fark başlangıç parametresi ve MimeType listesidir.
banshee-1.desktop
: Genel medya dosyalarıbanshee-1-audiocd.desktop
: Ses CD'leribanshee-1-media-player.desktop
Ses çalar (Ayrıca kullandığı rhythmbox
, vlc
ve diğerleri)Bu yüzden 'Birlikte aç' listesinde üç 'Banshee Media Player' var (ve belki de 'Ana Menü'de).
Bu alanı doldurmanın diğer bir yolu da kişisel .desktop dosyaları oluşturmaktır ~/.local/share/applications
. Manuel olarak veya bir alet kullanarak.alacarte
(veya 'Ana Menü' -> 'Menüyü Düzenle'ye sağ tıklayın) bunlardan biridir.
Her uygulama oluşturduğunuzda veya taşıdığınızda alacarte
, içine yeni bir .desktop dosyası yerleştirilir ~/.local/share/applications
. Bir uygulamanın devre dışı bırakılması, uygulamayı 'Ana Menü'den' kaldırır, ancak 'Birlikte aç' listesinden kaldırmaz.
Ama 'Sil' butonuna bir özdeş kopyasını oluşturarak yapar /usr/share/applications
içine ~/.local/share/applications
ve ekleme Hidden=true
böylece sistem genelinde miras değerleri "üzerine yazarak", .desktop dosyaya.
Bu girdilerden iki tanesinin aşağıdaki alacarte
sonuçlardan silinmesi :
$ ls -1 ~/.local/share/applications/banshee*
/home/user/.local/share/applications/banshee-1-audiocd.desktop
/home/user/.local/share/applications/banshee-1-media-player.desktop
Herhangi bir girişi kaldırmak ~/.local/share/applications
, önceden var olan duruma geri döner (üçbanshee
öğe) .
Bu iki klasörde gerçekten yinelenen bir kopya alacarte
yoksa Hidden=true
, ilgili .desktop dosyalarındaki seçeneklerden yinelenenleri kaldırmayı veya seçenekle oynamayı deneyin .
Eğer içeri bakarsanız ~/.local/share/applications
ve /usr/share/applications
bu iki yerden kopyaları kaldırabilirsiniz. Bunu benim için yaptı.
Bu iş parçacığının eski olduğunu kabul ederek, bu konuda kendim şaşırdım. Şahsen dosyaları silmek veya "temizleme" oynamak gereksiz olduğunu hissettim, sadece mevcut kullanıcı için şeyler tweaking. 1'den fazla .desktop dosyası varsa, her birinin benzersiz bir açıklaması olamaz mı? Linux geldiğinde, bazı uygulama geliştiricileri böyle basit şeyleri gerçekten göz ardı ettiler mi?
.Desktop dosyalarını bir metin düzenleyicide açarsanız, Ad alanı "Birlikte Aç" menüsünde görüntülenen alanı buldum . Bu yüzden benim için sorunu oluşturduğunu bildiğim .desktop dosyalarını (örneğin, 3 Banshee dosyası) aradım. Her birine bakıldığında, farkın neredeyse her zaman kısayolun hangi mime türlerini işlediği ile ilgisi vardı. Bunun nedeni, bazı programların mime türüne bağlı olarak farklı parametreler geçirmeyi tercih etmeleridir. Yalnızca 1 örnekte, eski .desktop dosyasını temizlemeyen bir uygulama yükseltmesinin sonucu yinelenen girişler buldum
Bu keşifle donanmış olarak, bilinen yinelenen girişlerin Ad alanlarını bunu yansıtacak şekilde değiştirdim. Örneğin, Banshee'nin Ses CD'lerini işlemek için özel olarak oluşturduğu .desktop dosyasını düzenlemek , adı şöyle okudum:
Banshee (Ses CD'si)
Rhythmbox da iyi bir örnektir, çünkü özellikle CD + MP3 çalarları işlemek için ayrı bir .desktop dosyası vardır, ancak her biri aynı görünür. Benim tahminim 1 dosya uygulamayı yükler ve kitaplık yerine birim üzerinde odak koyar. Bu, MP3 / OGG dosyalarınızı işlerken bunun olmasını istemediğiniz için yeniden adlandırılmaya değer.
Her neyse, bunun sadece kullanışlı olduğu görünen dosyaları silmeden Birlikte Aç menüsünün temiz görünmesini sağladığını düşünüyorum. Bu değişikliklerin uygulama güncellemeleri arasında devam edip etmediği henüz görülmemiştir ... ancak bunlar komut dosyası bile yazılabilecek basit ve hızlı düzenlemelerdir. Kabuk bu durumda çok yardımcı olur. Örneğin, bu tür yinelenen girişlere sahip tüm dosya adlarını (yol ile) görmek için:
grep -rl "^Name=Banshee$" /usr/share/applications
Tabii ki "Banshee" Birlikte Aç menüsünde bir kereden fazla görünen şeydir. Yukarıda verilen örnekte, uygulamaya Geany adı verildi.
Bununla, ortaya çıkan dosyaları doğrudan düzenleyicinize gönderebilirsiniz. Reg ifadelerinde uzman değilseniz, ^ ve $ sırasıyla satır başlangıcını ve satır sonunu belirtir. Bu, sistemin benzer satırları bulmasını XGnome-FullName=Banshee Media Player
engeller Ayrıca, önceden düzeltmiş olabileceğiniz girişleri bulmasını da engeller.
Ayrıca Gnome'un "Uygulamalar" menü düzenleyicisine bakabilir ve kopyaları buradan kaldırabilirsiniz.
jhbuild.desktop
vemimeapps.list
içinde / uygulamaları ~ / .local / pay . Ve, / usr / share / apps dosyasında hiç dupes yok ve hala sorunu yaşıyorum.