मैं अनाथ प्रारंभ मेनू प्रविष्टियों को कैसे हटा सकता हूं?


14

किसी कारण से मेरे पास अनुप्रयोगों (जैसे, गनोम डू, सिनैप्स, लीफपैड) से बाईं ओर की शुरुआत मेनू प्रविष्टियों का एक गुच्छा है। और सोच रहा था कि क्या उन अनुप्रयोगों के लिए सभी अनाथ प्रविष्टियों को हटाने का एक तरीका है जो अब स्थापित नहीं हैं?

जवाबों:


33

आप एप्लिकेशन कमांड को सूचीबद्ध करने के लिए निम्न कमांड का उपयोग कर सकते हैं जो कि किसी भी गैर-प्रासंगिक कार्यक्रमों से लिंक नहीं है:

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 में ब्राउज़ करें और उन्हें ग्राफ़िकल इंटरफ़ेस के माध्यम से ट्रैश करें।


यही किया चाल! वहाँ वैसे भी मैं एक शॉर्टकट में बदल सकते हैं कि मैं चला सकता हूँ जब ऐसा कुछ फिर से होता है?
एलन

3

यदि स्टार्ट मेन्यू से आपका मतलब 'एप्लिकेशन' मेनू से है, तो आप इसे सिस्टम: - वरीयताएँ -> मुख्य मेनू पर जाकर संपादित कर सकते हैं।

आप वसीयत में प्रविष्टियों को जोड़, पुनर्व्यवस्थित, संपादित और हटा सकते हैं।


हाय यूजीनियो। यह सही है, लेकिन मुझे हर एक के माध्यम से जाना है, पुष्टि करें कि क्या यह वास्तव में अनाथ है या नहीं और फिर इसे हटा दें। मैं एक ऐसा रास्ता ढूंढ रहा हूं जो मेरे लिए यह सब करे, क्योंकि मेरे पास लगभग 40+ प्रविष्टियां हैं जिन्हें मैं हटाना चाहता हूं।
एलन

शायद सबसे नॉब-फ्रेंडली जवाब। +1
tir38

3

जब किसी एप्लिकेशन को अनइंस्टॉल किया जाता है तो उसे स्थापित मेनू आइटम को हटा देना चाहिए। और यह मेरी मशीन पर इस तरह से काम करता है।

यदि यह अलग तरीके से काम करता है, तो यह एक विशेष पैकेज की एक बग या आपके सिस्टम पर एक समस्या है। मुझे विश्वास नहीं हो रहा है कि आपके पास 40 से अधिक प्रविष्टि अनाथ हैं। यह एक समस्या का लक्षण होगा।


यह बहुत अजीब है, मुझे यह समस्या तब तक कभी नहीं हुई जब तक कि नटी नरवाल में मेरा अपग्रेड नहीं हो गया। मैं 10.04LTS पर डाउनग्रेड हो सकता हूं, और थोड़ी देर इंतजार कर सकता हूं जब तक कि 11.04 थोड़ा और बग-मुक्त न हो जाए।
एलन

ऐसे कार्यक्रम हैं जो सक्रिय रूप से खुद को स्थापित करते हैं लेकिन जिनके पास प्रति से वास्तविक इंस्टॉलर नहीं है। बाइनरी ले जाया जाता है तो वे अनाथ हो जाते हैं।
नुकीले

2

खैर, यह एक कठिन है, लेकिन मैं चाहता हूं, कम से कम, आपको यह बताने के लिए कि समस्या क्या है।

Gnome में स्थापित अनुप्रयोगों / usr / शेयर / अनुप्रयोगों के साथ समाप्त हो गई फ़ाइलें .desktop (इसलिए vlc प्रोग्राम vlc.desktop द्वारा launchad है)

हर एक के अंदर, एक "श्रेणी" अनुभाग होता है जिसमें आप उस एप्लिकेशन मेनू के किस भाग में सेट कर सकते हैं जो उस प्रोग्राम को आप चाहते हैं। बात यह है: एक ही रास्ता मुझे लगता है कि यह किया जा सकता है जो आप पूछ रहे हैं वह एक बैश स्क्रिप्ट का उपयोग कर रहा है जो पूछ रहा है कि संबंधित .desktop से संबंधित पैकेज स्थापित है या नहीं। यदि ऐसा नहीं है, तो उस .desktop फ़ाइल को हटा दें। जब आप फ़ाइल को हटाते हैं, तो यह मेनू से बाहर हो जाएगा, और जब आप ऐप एक श्रेणी में होंगे, तो वह नहीं दिखाया जाएगा।

यह एक मेरे दायरे से थोड़ा बाहर है क्योंकि हर कमांड (dpkg, apt-get, etc ..) पैकेज के इंस्टॉल न होने पर हमेशा एक अच्छा निकास लौटाता है, इसलिए हमें उस ऐप से बाहर निकलने के लिए पढ़ना होगा। एक स्ट्रिंग (Fi "स्थापित नहीं"), इसे जांचें, और यदि स्ट्रिंग मौजूद है, तो इसका मतलब है कि एप्लिकेशन इंस्टॉल नहीं है और .desktop हटाया जा सकता है।

इसलिए, यदि आप चाहें, तो आप केवल फ़ोल्डर (/ usr / शेयर / एप्लिकेशन) दर्ज कर सकते हैं और उन फ़ाइलों पर क्लिक कर सकते हैं जो कार्यक्रमों के अनुरूप हैं। वे एप्लिकेशन मेनू से गायब हो जाएंगे। यह स्वचालित रूप से करने के लिए, मुझे लगता है कि हमें ट्रैक पर एक अच्छी बैश स्क्रिप्ट की आवश्यकता है जो मैंने कहा।

मुझे उम्मीद है कि यह किसी तरह से मदद करता है।


हाय डेविड, आपकी मदद के लिए धन्यवाद! मेनू संपादक में एक-एक करके टूटे हुए लिंक को हटाने की तुलना में / usr / share / Applications में जाने की टिप निश्चित रूप से एक समय बचाने वाली है।
एलन

0

वैकल्पिक:

@ 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

ध्यान दें: किसी भी विधि को हटाने से पहले दो बार मिली फ़ाइलों की झूठी सकारात्मक जाँच दिखा सकते हैं


0

यह एक पुराना पोस्ट किया गया प्रश्न हो सकता है, लेकिन मुझे लगा कि मुझे वैसे भी चाइम करना चाहिए क्योंकि मुझे वही समस्या थी, लेकिन इनमें से किसी भी सुझाव पर काम नहीं किया गया था, लेकिन मुझे इंटरनेट पर एक बहुत ही स्मार्ट व्यक्ति मिला, जिसे अलाकेर्ट (आसान GNOME मेनू संपादन) नामक एक कार्यक्रम के बारे में पता था प्रोग्राम इसे सॉफ्टवेयर मैनेजर का उपयोग करके इंस्टॉल किया गया है और मैं रोमांचित हूं, यह अभी भी उपलब्ध है क्योंकि यह डिफ़ॉल्ट रूप से इंस्टॉल किया जा रहा है, लेकिन अभी नहीं है और यह एक प्रसिद्ध कार्यक्रम नहीं है, लेकिन मुझे खुशी है कि यह अभी भी सॉफ्टवेयर मैनेजर के माध्यम से उपलब्ध है और यह है इतनी आसानी से उपयोग की जाने वाली अनइंस्टॉल की गई प्रोग्राम प्रविष्टि को हाइलाइट करने के लिए जिस पर आप छुटकारा चाहते हैं और दाईं ओर डिलीट पर क्लिक करना चाहते हैं, पर क्लिक करें। शायद यह मदद करेगा अगर ये अन्य सुझाव आपके लिए काम नहीं करते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.