যে অ্যাপ্লিকেশনগুলি একটি স্বেচ্ছাসেবী ফাইল বা ইউটিআই টাইপ খুলবে তার জন্য লঞ্চ পরিষেবাগুলির ডাটাবেসটি জিজ্ঞাসা করা সম্ভব?


11

আমি স্বেচ্ছাসেবী ফাইলের জন্য ইউনিফর্ম টাইপ আইডেন্টিফায়ার (ইউটিআই) প্রদর্শন করতে পাশাপাশি নির্দিষ্ট ইউটিআইয়ের সুপারস্টেট জাতীয় প্রকারের শ্রেণিবিন্যাস প্রদর্শন করতে এমডিএল ব্যবহার করতে সক্ষম হয়েছি ।

mac:~ mike$ mdls -name kMDItemContentType -name kMDItemContentTypeTree foo.ksh
kMDItemContentType     = "public.ksh-script"
kMDItemContentTypeTree = (
    "public.ksh-script",
    "public.shell-script",
    "public.script",
    "public.source-code",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
mac:~ mike$ mdls -name kMDItemContentType -name kMDItemContentTypeTree foo.command
kMDItemContentType     = "com.apple.terminal.shell-script"
kMDItemContentTypeTree = (
    "com.apple.terminal.shell-script",
    "public.shell-script",
    "public.script",
    "public.source-code",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)

এমন কোনও সরঞ্জাম রয়েছে যা দেখায় যে কোনও অ্যাপস পরীক্ষার এবং ত্রুটি ব্যতীত কোনও নির্দিষ্ট ইউটিআইয়ের জন্য নিবন্ধভুক্ত হয়েছে?

এটি পরিদর্শন থেকে স্পষ্ট যে foo.commandফাইলটি টার্মিনাল.এপ দ্বারা খোলা হবে, তবে এটি মোটেই পরিষ্কার নয় যে foo.ksh বর্তমানে টেক্সটএডিট.এ্যাপের অন্তর্গত।

আমি প্রতি ইউটিআই ভিত্তিতে কোন অ্যাপ্লিকেশনটি বেছে নেওয়া হয়েছে তা দেখার জন্য বাস্তবে অবলম্বন না করে সরাসরি ম্যাক ওএস এক্স লঞ্চ পরিষেবা ডেটাবেস পড়তে সক্ষম হতে চাই open। এটি --preview --verboseকরার চেয়ে খোলার জন্য সুইচ থাকার মতো হবে যা করার চেয়ে বরং কী করবে।

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

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

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

আমি সত্যিই টার্মিনাল থেকে প্রোগ্রামটি ডেটা অ্যাক্সেস করতে সক্ষম হতে চাই।


Zsh সমাপ্তিটি আকর্ষণীয় বলে মনে হচ্ছে, তবে কীভাবে স্টাডআউট পাব তা আমি দেখতে পাচ্ছি না। আমি অ্যাপ্লিকেশনগুলির উত্স কোডটি সন্ধান করব এবং দেখব বাইনারি সিংহের উপর কাজ করে বা আমি এটি সংকলন করতে পারি কিনা। এটি সীসা একটি দুর্দান্ত জুড়ি - ধন্যবাদ!
বমিকে

উত্তর:


6

অ্যান্ড্রু মর্টেনসেনের ডিউটি হলেন এমন একটি সি এল এল যা ইউটিআই হ্যান্ডলারের তালিকা তৈরি করবে:

  • -d <uti> ডিফল্ট হ্যান্ডলার তালিকাভুক্ত;
  • -l <uti> সমস্ত নিবন্ধিত হ্যান্ডলারের তালিকা।

ডিউটির জন্য ম্যান পেজ দেখুন ।

সম্পাদনা: লরি এই উত্তরে যেমন উল্লেখ করেছেন, ডুটি সমস্ত সম্ভাব্য অ্যাপ্লিকেশনগুলি তালিকাভুক্ত করার জন্য বলে মনে হচ্ছে না (সম্ভবত এটি ইউটিআই উত্তরাধিকার হিসাবে বিবেচনা করে না? এটি আরও তদন্তের জন্য বিষয় হবে) তাঁর প্রস্তাবিত সমাধান, AllApllifications সম্ভবত একটি ভাল উত্তর হতে হবে।


এটি এমন কিছু অ্যাপ্লিকেশন হারিয়েছে যা মেনু সহ খোলা অংশে প্রদর্শিত হবে।
Lri

খুব অদ্ভুত. কোনটি অনুপস্থিত তা আমাকে বলতে পারেন?
kopischke

ডুটি থেকে উদাহরণ আউটপুট অন্তর্ভুক্ত করার জন্য আমি আমার প্রশ্নের উত্তরটি অন্য প্রশ্নের মধ্যে সম্পাদনা করেছি
Lri

যখন ডুটি সুন্দরভাবে লেখা হয়, তবে এটি এখন হতাশ এপিআই ব্যবহার করে। আমি এ কটাক্ষপাত সুপারিশ developer.apple.com/library/prerelease/mac/documentation/Carbon/...
Mugen

ঠিক আছে - হোমব্রিউ দ্বারা এটি ইনস্টল করা একটি হোম রান ছিটকে। অনেক ধন্যবাদ!
bmike

11

লঞ্চ পরিষেবা ডেটাবেস পরীক্ষা করতে আপনি এই আদেশটি ব্যবহার করতে পারেন। -ডাম্প বিকল্পটি আপনাকে পুরো ডাটাবেস দেয়, তারপরে আপনি এটিকে গ্রেপ-এ পাইপ করতে পারেন এবং যা খুশি তা অনুসন্ধান করতে পারেন।

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -n7 'your search string'


অ্যাপ্লিকেশন বান্ডিলটি বা একটি নির্দিষ্ট কেএমডিআইটিমেটন্টিটাইপকে পার্স করে এমন নির্দিষ্ট এমডিম্পোর্টার ফাইলের অবস্থান নির্ধারণের জন্য এই ডাম্পটি কীভাবে প্রক্রিয়াকরণ করা যায় সেই প্রশ্নে আমাকে অনুসরণের জিজ্ঞাসা করতে হবে - তবে এটি বেশ সহায়তা করেছে this ধন্যবাদ
bmike
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.