কেন একটি অ্যাপের এতগুলি উদাহরণ "ওপেন উইথ" প্রদর্শিত হয়? [প্রতিলিপি]


17

আমি যখন একটি ফাইল নির্বাচন করি এবং "ওপেন উইথ" বিকল্পটি ব্যবহার করার জন্য এটিতে ডান ক্লিক করি তখন আমি ফাইলটি খোলার জন্য সম্ভবত সম্ভাব্য অ্যাপ্লিকেশনগুলির একটি তালিকা দেখি, তবে আমার ক্ষেত্রে, ১০.৯.৫ চলমান, আমি তিনটি এবং মাঝে মাঝে চারটি উদাহরণ দেখি নির্দিষ্ট ফাইলটি খোলার জন্য প্রতিটি প্রস্তাবিত অ্যাপ্লিকেশন - সংযুক্ত স্ক্রিনশটটি দেখুন। কেন? অ্যাপ্লিকেশন প্রতি এক উদাহরণে এটি হ্রাস করার কোনও উপায় আছে কি? যদি তাই হয়, কিভাবে?

এখানে চিত্র বর্ণনা লিখুন



মাইক, আমি আপনার নিরীক্ষণে অধ্যবসায়ের প্রশংসা করি, তবে, আমার প্রশ্নটি কথিত সদৃশটির তুলনায় এত বেশি পরিষ্কার। দেখার পরিমাণ তার বৈধতার সাক্ষ্য দেয়। একা শিরোনামের ভিত্তিতে আপনি কখনই জানতে পারবেন না যে এটি একই বিষয়।
fmz

আমরা যখন সমস্যাটি পুনরায় চালু করি এবং সমস্ত উত্তরের জন্য এক জায়গায় নির্দেশ করি তখন আমরা সমস্ত সময় প্রশ্নগুলি বন্ধ করি। আপনার প্রশ্নটি যদি সমস্যাটির ভাল এবং স্পষ্ট পুনরায় উত্তর না দেয় তবে আমি এটি লিঙ্ক করার পরে এটি সম্পূর্ণ মুছে ফেলতাম। এটি সম্পাদনা করতে নির্দ্বিধায় বা মেটাতে জিজ্ঞাসা করুন যদি আপনি আমাদের কীভাবে লঞ্চ পরিষেবাগুলি সংশোধন করতে পারেন তার আরও ভাল ক্যানোনিকাল উত্তরের দিকে নির্দেশ করতে সহায়তা করতে পারেন। এটি এমন একটি বিষয় যা দীর্ঘকাল ধরে ছিল এবং আমি শীঘ্রই এটি কখনই পরিবর্তিত হতে দেখি না।
বিমিক

এবং, সর্বদা হিসাবে - জিজ্ঞাসা করুন আলাদা মেটাতে একটি প্রশ্ন জিজ্ঞাসা করুন যদি আপনি নিশ্চিত হন না যে কেন কিছু নিয়ন্ত্রণ করা হয়েছিল বা বর্তমান পরিস্থিতির থেকে আলাদা ফলাফল পেতে চান। থ্রেডে আরও চোখ প্রায়শই প্রত্যেককে সহায়তা করে - আমার অন্তর্ভুক্ত। সাহায্য করার জন্য ধন্যবাদ.
বিমিক

উত্তর:


15

ওএস এক্স-এর 'ওপেন উইথ' মেনুতে ডুপ্লিকেট এন্ট্রি ঠিক করতে LaunchServices পুনর্নির্মাণ করুন

এটি ঠিক করতে, আমাদের ওএস এক্স এর লঞ্চ সার্ভিস ডাটাবেস পুনরায় সেট করতে হবে। ওএস এক্স-এর বেশিরভাগ ক্রিয়াকলাপের মতোই, এই কাজটি সম্পাদনের একাধিক উপায় রয়েছে তবে দ্রুততমটি কেবল একটি টার্মিনাল কমান্ড ব্যবহার করা।

এই নিবন্ধটি থেকে - আপনার টার্মিনালটিতে অনুলিপি করুন

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

আপনার সমাধানটি গ্রাগসাইডের সমতুল্য। আমার টার্মিনাল-ফু এগুলি সঠিকভাবে পার্স করার পক্ষে যথেষ্ট ভাল নয় তবে তাদের দেখতে একইরকম হওয়া উচিত।
তেটসুজিন

1
পছন্দ করুন পূর্বের গ্লোববিংটি পরবর্তী পথে প্রসারিত হয়।
grg

7

এটি ওএস এক্স-এ একটি দীর্ঘস্থায়ী বাগ l আপনি এটি lsregister দিয়ে সমাধান করতে পারেন:

/Sy*/L*/Fr*/CoreS*/F*/L*/S*/lsregister -kill -r -domain local -domain system -domain user

1
আপনি কি দয়াবান হন এবং কিছু তথ্য সরবরাহ করেন, আপনি আমাদের সবার জন্য একটি স্ট্যান্ডার্ড পদ্ধতি জানেন।

1
@ বুস্কর আমার কোনও নির্দিষ্ট উদ্ধৃতি নেই my এটি আমার অন্যতম রেফারেন্স তালিকার মধ্যে থাকা কমান্ডগুলির মধ্যে একটি।
গ্রিগ

2
হি, কোড গল্ফ থেকে কিছুটা সোজা মনে হচ্ছে ;)
ডোরকনব

4

অন্যান্য উত্তরগুলি ছাড়াও, এটি একাধিক অনুলিপিগুলি দেখাতে পারে যা অন্যান্য হার্ড ড্রাইভ বা ব্যাকআপ কপিগুলিতে বিদ্যমান। আপনি যদি টাইম মেশিন ব্যাকআপের জন্য ব্যবহার করেন এমন একটি বাহ্যিক হার্ড ড্রাইভ কোনও বিকল্প হিসাবে দেখাতে পারে যদি আপনার অ্যাপ্লিকেশনগুলি সেই ড্রাইভে ব্যাক আপ করে থাকে।

আপনি যদি আগ্রহী হন তবে অ্যাপসটি কোথা থেকে আসছে, অন্য অ্যাপ্লিকেশনগুলির মধ্যে একটি খুলুন। তারপরে ডক থেকে, অ্যাপস আইকনটিতে + ক্লিক করুন এবং নির্বাচন করুন: বিকল্পগুলি> "ফাইন্ডারে দেখান" choose অ্যাপ্লিকেশনটি কোথায় তা এটি আপনাকে দেখায়।

আপনার সিস্টেমের লঞ্চ সার্ভিসগুলি আপডেট করার জন্য বাসকার provided দ্বারা সরবরাহিত কমান্ড লাইনটি ব্যবহার করুন।


2

গ্রাগসাইড এবং বাসকার সরবরাহিত উত্তরগুলিকে প্রসারিত করার জন্য, আপনি আপনার .bashrc স্ক্রিপ্টে একটি উপনাম সংজ্ঞায়িত করে ব্যথাকে কিছুটা কম করতে পারেন। এটি করতে, টার্মিনাল.এপ খুলুন এবং আপনার সাথে প্রিয় পাঠ্য সম্পাদক (vi, ন্যানো, ইম্যাকস যদি আপনি প্রবণ .bashrcহন তবে ) সম্পাদনাটি একেবারে শেষে নীচের লাইনটি যুক্ত করুন:

alias rmdup="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain user; killall Finder"

দ্রষ্টব্য, এটি rmdupকেবলমাত্র একটি উপনামের নাম যা আমি পরে কমান্ডটি সহজেই মনে রাখার জন্য বেছে নিয়েছি (এটি 'ডুপ্লিকেটগুলি সরিয়ে ফেলার উদ্দেশ্যে বোঝানো হয়েছে)। আপনি নিজের পছন্দ মতো অন্য কোনও নাম চয়ন করতে পারেন, সাবধান হন আপনি অন্য কমান্ডের জন্য ইতিমধ্যে ব্যবহৃত নাম ব্যবহার করবেন না।

আপনার .bashrc পরিবর্তন করার পরে, আপনি যখন আবার নকল অ্যাপ্লিকেশনগুলি লক্ষ্য করেন, আপনি কেবলমাত্র টার্মিনাল.এপ খুলতে পারেন এবং rmdupআপনি যে নামটি বেছে নিয়েছিলেন বা অন্য কোনও নাম লিখতে পারেন, lsregisterতার সমস্ত আর্গুমেন্ট সহ কমান্ডের পুরো পথের পরিবর্তে etc.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.