जवाबों:
आप एप्लिकेशन कमांड को सूचीबद्ध करने के लिए निम्न कमांड का उपयोग कर सकते हैं जो कि किसी भी गैर-प्रासंगिक कार्यक्रमों से लिंक नहीं है:
for i in {/usr,~/.local}/share/applications/*.desktop; do which $(grep -Poh '(?<=Exec=).*?( |$)' $i) > /dev/null || echo $i; done
मुझे संदेह है कि आप पाएंगे कि आपके घर के फोल्डर में आपके अधिकांश कस्टमाइज्ड आइकन हैं, क्योंकि ये पैकेज मैनेजर द्वारा स्वचालित रूप से साफ नहीं किए जाते हैं। यदि यह मामला है और आप उन सभी को एक साथ रद्दी करना चाहते हैं , तो आप पिछले कमांड के संशोधन का उपयोग कर सकते हैं:
for i in ~/.local/share/applications/*.desktop; do which $(grep -Poh '(?<=Exec=).*?( |$)' $i) > /dev/null || trash $i; done
या, ज़ाहिर है, ~/.local/share/applications/
Nautilus में ब्राउज़ करें और उन्हें ग्राफ़िकल इंटरफ़ेस के माध्यम से ट्रैश करें।
यदि स्टार्ट मेन्यू से आपका मतलब 'एप्लिकेशन' मेनू से है, तो आप इसे सिस्टम: - वरीयताएँ -> मुख्य मेनू पर जाकर संपादित कर सकते हैं।
आप वसीयत में प्रविष्टियों को जोड़, पुनर्व्यवस्थित, संपादित और हटा सकते हैं।
जब किसी एप्लिकेशन को अनइंस्टॉल किया जाता है तो उसे स्थापित मेनू आइटम को हटा देना चाहिए। और यह मेरी मशीन पर इस तरह से काम करता है।
यदि यह अलग तरीके से काम करता है, तो यह एक विशेष पैकेज की एक बग या आपके सिस्टम पर एक समस्या है। मुझे विश्वास नहीं हो रहा है कि आपके पास 40 से अधिक प्रविष्टि अनाथ हैं। यह एक समस्या का लक्षण होगा।
खैर, यह एक कठिन है, लेकिन मैं चाहता हूं, कम से कम, आपको यह बताने के लिए कि समस्या क्या है।
Gnome में स्थापित अनुप्रयोगों / usr / शेयर / अनुप्रयोगों के साथ समाप्त हो गई फ़ाइलें .desktop (इसलिए vlc प्रोग्राम vlc.desktop द्वारा launchad है)
हर एक के अंदर, एक "श्रेणी" अनुभाग होता है जिसमें आप उस एप्लिकेशन मेनू के किस भाग में सेट कर सकते हैं जो उस प्रोग्राम को आप चाहते हैं। बात यह है: एक ही रास्ता मुझे लगता है कि यह किया जा सकता है जो आप पूछ रहे हैं वह एक बैश स्क्रिप्ट का उपयोग कर रहा है जो पूछ रहा है कि संबंधित .desktop से संबंधित पैकेज स्थापित है या नहीं। यदि ऐसा नहीं है, तो उस .desktop फ़ाइल को हटा दें। जब आप फ़ाइल को हटाते हैं, तो यह मेनू से बाहर हो जाएगा, और जब आप ऐप एक श्रेणी में होंगे, तो वह नहीं दिखाया जाएगा।
यह एक मेरे दायरे से थोड़ा बाहर है क्योंकि हर कमांड (dpkg, apt-get, etc ..) पैकेज के इंस्टॉल न होने पर हमेशा एक अच्छा निकास लौटाता है, इसलिए हमें उस ऐप से बाहर निकलने के लिए पढ़ना होगा। एक स्ट्रिंग (Fi "स्थापित नहीं"), इसे जांचें, और यदि स्ट्रिंग मौजूद है, तो इसका मतलब है कि एप्लिकेशन इंस्टॉल नहीं है और .desktop हटाया जा सकता है।
इसलिए, यदि आप चाहें, तो आप केवल फ़ोल्डर (/ usr / शेयर / एप्लिकेशन) दर्ज कर सकते हैं और उन फ़ाइलों पर क्लिक कर सकते हैं जो कार्यक्रमों के अनुरूप हैं। वे एप्लिकेशन मेनू से गायब हो जाएंगे। यह स्वचालित रूप से करने के लिए, मुझे लगता है कि हमें ट्रैक पर एक अच्छी बैश स्क्रिप्ट की आवश्यकता है जो मैंने कहा।
मुझे उम्मीद है कि यह किसी तरह से मदद करता है।
वैकल्पिक:
@ Answerndrük उत्तर के बाद, यहां एक समान समाधान है जो पथ और सबफ़ोल्डर में रिक्त स्थान का समर्थन करता है , इसका उपयोग किसी विशिष्ट फ़ोल्डर या संपूर्ण डिस्क पर टूटी हुई .desktop
फ़ाइलों को देखने के लिए किया जा सकता है (शॉर्टकट)
find {/usr,~/.local,/usr/local,}/share/applications/ -name '*.desktop' | while read -r line; do which $(grep -Poh '(?<=Exec=).*?( |$)' $line) > /dev/null || echo $line; done
पूरी डिस्क के लिए
find / -name '*.desktop' | while read -r line; do which $(grep -Poh '(?<=Exec=).*?( |$)' $line) > /dev/null || echo $line; done
ध्यान दें: किसी भी विधि को हटाने से पहले दो बार मिली फ़ाइलों की झूठी सकारात्मक जाँच दिखा सकते हैं
यह एक पुराना पोस्ट किया गया प्रश्न हो सकता है, लेकिन मुझे लगा कि मुझे वैसे भी चाइम करना चाहिए क्योंकि मुझे वही समस्या थी, लेकिन इनमें से किसी भी सुझाव पर काम नहीं किया गया था, लेकिन मुझे इंटरनेट पर एक बहुत ही स्मार्ट व्यक्ति मिला, जिसे अलाकेर्ट (आसान GNOME मेनू संपादन) नामक एक कार्यक्रम के बारे में पता था प्रोग्राम इसे सॉफ्टवेयर मैनेजर का उपयोग करके इंस्टॉल किया गया है और मैं रोमांचित हूं, यह अभी भी उपलब्ध है क्योंकि यह डिफ़ॉल्ट रूप से इंस्टॉल किया जा रहा है, लेकिन अभी नहीं है और यह एक प्रसिद्ध कार्यक्रम नहीं है, लेकिन मुझे खुशी है कि यह अभी भी सॉफ्टवेयर मैनेजर के माध्यम से उपलब्ध है और यह है इतनी आसानी से उपयोग की जाने वाली अनइंस्टॉल की गई प्रोग्राम प्रविष्टि को हाइलाइट करने के लिए जिस पर आप छुटकारा चाहते हैं और दाईं ओर डिलीट पर क्लिक करना चाहते हैं, पर क्लिक करें। शायद यह मदद करेगा अगर ये अन्य सुझाव आपके लिए काम नहीं करते हैं