উত্তর:
অস্তিত্বযুক্ত প্রোগ্রামগুলির সাথে লিঙ্কযুক্ত অ্যাপ্লিকেশন আইকনগুলির তালিকা করতে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:
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/
নটিলাসে ব্রাউজ করুন এবং গ্রাফিকাল ইন্টারফেসের মাধ্যমে এগুলি ট্র্যাশ করুন।
যদি স্টার্ট মেনু বলতে আপনার বোঝায় 'অ্যাপ্লিকেশনস' মেনু, আপনি এটি সম্পাদনা করতে পারবেন: সিস্টেম -> পছন্দসমূহ -> প্রধান মেনুতে।
আপনি ইচ্ছামত এন্ট্রিগুলি যুক্ত করতে, পুনরায় সাজানো, সম্পাদনা করতে এবং মুছতে পারেন।
যখন কোনও অ্যাপ্লিকেশন আনইনস্টল করা হয় তখন এটি ইনস্টল হওয়া মেনু আইটেমগুলি সরিয়ে ফেলা উচিত। এবং এটি আমার মেশিনে এইভাবে কাজ করে।
যদি এটি ভিন্নভাবে কাজ করে তবে এটি কোনও নির্দিষ্ট প্যাকেজের বাগ বা আপনার সিস্টেমে কোনও সমস্যা। আমি বিশ্বাস করতে পারি না যে আপনার 40 টিরও বেশি অনাথ রয়েছে। এটি একটি সমস্যার লক্ষণ হবে।
ঠিক আছে, এটি একটি কঠিন তবে আমি কী চাই সমস্যাটি আপনাকে জানাতে চাই to
জিনোম ইনস্টল করা অ্যাপ্লিকেশনগুলিকে / ইউএসআর / শেয়ার / অ্যাপ্লিকেশনগুলিতে ফাইলগুলি .desktop এ শেষ করে সংরক্ষণ করে (সুতরাং vlc প্রোগ্রামটি vlc.desktop দ্বারা প্রবর্তন করা হয়)
প্রত্যেকটির অভ্যন্তরে একটি "বিভাগ" রয়েছে যেখানে আপনি অ্যাপ্লিকেশন মেনুর যে অংশটি প্রোগ্রাম হতে চান সেটি সেট করতে পারবেন। জিনিসটি হ'ল: আমি মনে করি যে আপনি যা চান তা কেবল এটিই করা যায় বাশ স্ক্রিপ্ট ব্যবহার করা যা সেই ডেস্কটপ সম্পর্কিত প্যাকেজটি ইনস্টল রয়েছে কিনা তা জিজ্ঞাসা করে or যদি তা না হয় তবে সেই .ডেস্কটপ ফাইলটি মুছুন। আপনি যখন ফাইলটি মুছবেন, এটি মেনু থেকে বেরিয়ে যাবে এবং যখন আপনি অ্যাপ্লিকেশনটি কোনও বিভাগে থাকবেন তখন সেটি প্রদর্শিত হবে না।
এটি আমার সুযোগ থেকে কিছুটা দূরে কারণ প্রতিটি কমান্ড (dpkg, apt-get, ইত্যাদি ..) যখন প্যাকেজ ইনস্টল না করা হয় তখন সর্বদা একটি ভাল প্রস্থান ফিরিয়ে দেয়, সুতরাং আমাদের সেই অ্যাপ্লিকেশন থেকে প্রস্থানটি অনুসন্ধান করতে হবে একটি স্ট্রিং (ফাই "ইনস্টলড নয়"), এটি পরীক্ষা করুন এবং স্ট্রিংটি বিদ্যমান থাকলে এর অর্থ অ্যাপ্লিকেশন ইনস্টল করা নেই এবং .ডেস্কটপ মোছা যায়।
সুতরাং, আপনি চাইলে, আপনি কেবল ফোল্ডারটি (/ usr / শেয়ার / অ্যাপ্লিকেশন) প্রবেশ করতে এবং প্রোগ্রামগুলির সাথে সম্পর্কিত ফাইলগুলিতে ক্লিক করতে পারেন। তারা অ্যাপ্লিকেশন মেনু থেকে অদৃশ্য হয়ে যাবে। এটি স্বয়ংক্রিয়ভাবে করতে, আমি অনুমান করি যে ট্র্যাকটি আমরা বলেছিলাম তার একটি ভাল বাশ স্ক্রিপ্ট দরকার।
আমি আশা করি এটি কোনও উপায়ে সহায়তা করবে।
বিকল্প:
@ Ündrü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
দ্রষ্টব্য: যে কোনও পদ্ধতিতে ফাইলগুলি মুছে ফেলার আগে দু'বার পাওয়া মিথ্যা পজিটিভ চেক দেখাতে পারে
এটি একটি পুরানো পোস্ট করা প্রশ্ন হতে পারে তবে আমি ভেবেছিলাম আমার যেভাবেই সমস্যা হবে তবে যেহেতু আমার একই সমস্যা ছিল তবে এই পরামর্শগুলির কোনওটিই কাজ করেনি তবে আমি ইন্টারনেটে খুব স্মার্ট ব্যক্তিকে পেয়েছি যিনি আলাকার্তে (সহজ জিনোম মেনু সম্পাদনা) নামক একটি প্রোগ্রাম সম্পর্কে জানেন ( সফ্টওয়্যার ম্যানেজার ব্যবহার করে এটি ইনস্টল করা প্রোগ্রাম এবং আমি শিহরিত এখনও এটি উপলভ্য কারণ এটি ডিফল্টরূপে ইনস্টলড ব্যবহার করা হয়েছে তবে এখন তা নয় এবং এটি একটি সুপরিচিত প্রোগ্রাম নয় তবে আমি এটি খুব খুশি যে এটি এখনও সফ্টওয়্যার পরিচালকের মাধ্যমে উপলব্ধ এবং এটি আপনি যেভাবে আনস্টল হওয়া প্রোগ্রাম এন্ট্রি থেকে মুক্তি পেতে চান তা হাইলাইট করতে কেবল ক্লিক করতে ব্যবহার করা সহজ এবং ডানদিকে মুছুন ক্লিক করুন এবং এটি হয়ে গেছে। যদি এই অন্যান্য পরামর্শগুলি আপনার পক্ষে কাজ না করে তবে এটি সাহায্য করবে