जवाबों:
यह सूची .desktop फ़ाइलों पर विश्लेषण करके बनाई गई है:
/usr/share/applications
~/.local/share/applications
प्रति एप्लिकेशन एक से अधिक usecase हो सकते हैं, उदाहरण के लिए मीडिया प्लेयर banshee
जिसमें डिफ़ॉल्ट रूप से तीन .desktop फाइलें हों:
$ 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
उन फ़ाइलों के बीच एकमात्र अंतर शुरुआती पैरामीटर और माइम टाइप सूची है।
banshee-1.desktop
: सामान्य मीडिया फ़ाइलेंbanshee-1-audiocd.desktop
: ऑडियो सीडीbanshee-1-media-player.desktop
ऑडियो प्लेयर (इसके अलावा द्वारा इस्तेमाल किया rhythmbox
, vlc
और अन्य)इसलिए हमारे पास 'ओपन के साथ' सूची में तीन 'बंशी मीडिया प्लेयर' हैं (और शायद 'मेन मेन्यू' में भी)।
इस स्थान को भरने का दूसरा तरीका व्यक्तिगत .desktop फ़ाइलों को बनाकर है ~/.local/share/applications
। या तो मैन्युअल रूप से या एक उपकरण का उपयोग करके। alacarte
(या 'मुख्य मेनू' पर राइट क्लिक करें -> 'मेनू संपादित करें') उनमें से एक है।
हर बार जब आप किसी एप्लिकेशन को बनाते हैं या उसके भीतर ले जाते हैं alacarte
, तो एक नई .desktop फ़ाइल अंदर रखी जाती है ~/.local/share/applications
। किसी एप्लिकेशन को अक्षम करने पर यह 'मेन मेन्यू' से "हटा" देगा, लेकिन 'ओपन विथ' सूची से नहीं।
लेकिन 'नष्ट' बटन, करता है से एक समान प्रतिलिपि बनाने के द्वारा /usr/share/applications
में ~/.local/share/applications
और जोड़ने Hidden=true
.desktop फाइल करने के लिए, इस प्रकार "अधिलेखन" पूरे सिस्टम में विरासत में मिला मान।
alacarte
परिणामों में से दो प्रविष्टियाँ हटाना :
$ 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
किसी भी प्रविष्टि को हटाने से ~/.local/share/applications
पूर्ववर्ती स्थिति (तीन banshee
आइटम) पर उल्टा होगा ।
यदि आपके पास वास्तव में उन दो फ़ोल्डरों में कोई डुप्लिकेट नहीं है, तो किसी भी डुप्लिकेट को हटाने की कोशिश करें alacarte
या Hidden=true
इसी .desktop फ़ाइलों में विकल्प के साथ खेल रहे हैं ।
यदि आप अंदर देखते हैं ~/.local/share/applications
और /usr/share/applications
आप उन दो स्थानों से डुप्लिकेट निकाल सकते हैं। वो मेरे लिए किया गया।
इस धागे को स्वीकार करना पुराना है, मैं खुद इस मुद्दे से चिंतित था। मुझे व्यक्तिगत रूप से फ़ाइलों को हटाने या "क्लीनअप" खेलने के लिए आवश्यक महसूस हुआ, जैसा कि वर्तमान उपयोगकर्ता के लिए बस चीजों को बदल रहा था। यदि 1 से अधिक .desktop फ़ाइल है, तो प्रत्येक का एक अद्वितीय विवरण नहीं हो सकता है? जहां तक लिनक्स आया है, क्या कुछ ऐप डेवलपर्स ने वास्तव में इस तरह से सरल चीजों की अनदेखी की है?
मैंने पाया कि यदि आप एक टेक्स्ट एडिटर में .desktop फाइलें खोलते हैं, तो नाम फ़ील्ड वह है जो "ओपन विथ" मेनू में प्रदर्शित होता है। तो मेरे लिए, मैं .desktop फ़ाइलों के लिए देखा था मुझे पता था कि इस मुद्दे (उदाहरण के लिए, 3 Banshee फ़ाइलें) बना रहे थे। हर एक को देखते हुए, लगभग हमेशा अंतर जो शॉर्टकट को संभाल रहा है के साथ करना था। ऐसा इसलिए है क्योंकि कुछ प्रोग्राम mimetype के आधार पर विभिन्न मापदंडों को पारित करना पसंद करते हैं। केवल 1 उदाहरण में मुझे डुप्लिकेट प्रविष्टियाँ मिलीं, जो एप्लिकेशन अपग्रेड का परिणाम है कि यह पुरानी .desktop फ़ाइल की सफाई नहीं है
उस खोज के साथ, मैंने इसे प्रतिबिंबित करने के लिए ज्ञात डुप्लिकेट प्रविष्टियों के नाम फ़ील्ड बदल दिए । उदाहरण के लिए, .desktop फ़ाइल बंशी को संपादित करना विशेष रूप से ऑडियो सीडी को संभालने के लिए है , मैंने नाम को इस तरह से पढ़ा:
बंशी (ऑडियो सीडी)
रिदमबॉक्स भी एक अच्छा उदाहरण है, क्योंकि इसमें विशेष रूप से सीडी + एमपी 3 खिलाड़ियों को संभालने के लिए एक अलग .desktop फ़ाइल है, लेकिन प्रत्येक एक ही दिखाता है। मेरा अनुमान है कि 1 फ़ाइल एप्लिकेशन लोड करती है और आपके पुस्तकालय के बजाय इकाई पर ध्यान केंद्रित करती है। यह नाम बदलने के लायक है, फिर, जब आप अपने MP3 / OGG फ़ाइलों को संभालते समय ऐसा नहीं करना चाहेंगे।
वैसे भी, मुझे लगता है कि यह ओपन विद मेनू को बिना डिलीट की गई फ़ाइलों के बिना साफ दिखता है जो उपयोगी प्रतीत होती हैं। इन परिवर्तनों को एप्लिकेशन अपडेट के बीच कायम है या नहीं, यह देखा जाना बाकी है ... लेकिन वे सरल और त्वरित संपादन हैं जिन्हें स्क्रिप्ट भी किया जा सकता है। शेल उस मामले में काफी मदद करता है। उदाहरण के लिए, ऐसी डुप्लिकेट प्रविष्टियों के साथ सभी फ़ाइल नाम (पथ के साथ) देखने के लिए:
grep -rl "^Name=Banshee$" /usr/share/applications
जहां "बंशी" निश्चित रूप से है जो ओपन विथ मेनू में एक से अधिक बार दिखाई देता है। ऊपर दिए गए उदाहरण में, ऐप को Geany कहा गया था।
इसके साथ, आप परिणामी फाइलों को सीधे अपने संपादक को भेज सकते हैं। यदि आप रेग एक्सप्रेशंस के विशेषज्ञ नहीं हैं, तो लाइन के अंत में क्रमशः ^ और $ निर्दिष्ट करें। यह सिस्टम को लाइनों को खोजने से XGnome-FullName=Banshee Media Player
रोकता है जैसे कि यह उन प्रविष्टियों को खोजने से भी रोकता है जिन्हें आपने पहले ही तय कर लिया है।
आप गनोम के "एप्लिकेशन" मेनू संपादक में भी देख सकते हैं और डुप्लिकेट को यहां से हटा सकते हैं।
jhbuild.desktop
औरmimeapps.list
में ~ / .local / शेयर / अनुप्रयोगों । और, वहाँ / usr / शेयर / अनुप्रयोगों में कोई ठगी नहीं है , और मैं अभी भी समस्या का सामना कर रहा हूँ।