টার্মিনালে ফাইল অ্যাসোসিয়েশন পরিবর্তন করবেন?


18

টার্মিনালের মাধ্যমে অ্যাপ্লিকেশনগুলির সাথে ফাইলের প্রকারগুলি সংযুক্ত করার জন্য কি কোনও পদ্ধতি আছে? আমি ভেবেছিলাম Library / লাইব্রেরি / পছন্দ / com.apple.launchservices.plist এটি করতে পারে এবং আমি এটিও দেখেছি: Why / লাইব্রেরি / পছন্দসমূহ / com.apple.LaunchServices.plist এ একটি কমান্ড লাইন পরিবর্তন কেন কার্যকর হবে না? কিন্তু আমি এটি কাজ করে বলে মনে হচ্ছে না।

আমি অনুমান করি যে জিইউআই কী করে তা অনুকরণ করার একটি উপায় সন্ধান করছি যখন কেউ এসোসিয়েশনের ধরণের পরিবর্তন করতে এটি ব্যবহার করে, মনে হয় সেখানে তাত্ক্ষণিকভাবে কাজ করবে ...

উত্তর:


8

আপনি ~/Library/Preferences/com.apple.LaunchServices.plistকোনও পাঠ্য সম্পাদককে এটি XML এ রূপান্তর করার পরে সম্পাদনা করতে পারেন :

plutil -convert xml1 ~/Library/Preferences/com.apple.LaunchServices.plist

তারপরে LSHandlersঅ্যারেতে এই জাতীয় এন্ট্রি যুক্ত করুন :

<dict>
  <key>LSHandlerContentType</key>
  <string>com.adobe.pdf</string>
  <key>LSHandlerRoleAll</key>
  <string>net.sourceforge.skim-app.skim</string>
</dict>
<dict>
  <key>LSHandlerContentTag</key>
  <string>mkv</string>
  <key>LSHandlerContentTagClass</key>
  <string>public.filename-extension</string>
  <key>LSHandlerRoleAll</key>
  <string>org.videolan.vlc</string>
</dict>

আপনি mdlsফাইলের প্রকারের ইউটিআই osascript -e 'id of app "AppName"'দেখতে এবং অ্যাপ্লিকেশনগুলির বান্ডিল শনাক্তকারী দেখতে পছন্দ করতে পারেন।

com.apple.LaunchServices.plistপুনরায় চালু করে আপনি এতে পরিবর্তনগুলি প্রয়োগ করতে পারেন । লগ আউট এবং পিছনে যথেষ্ট নয়।


দ্রষ্টব্য : dutiআর সক্রিয় বিকাশে নেই এবং এর রক্ষণাবেক্ষণকারীদের দ্বারা এটি "অসমর্থিত" হিসাবে লেবেলযুক্ত। প্রকল্পটি কনফিগারেশন আপডেটগুলি বাদ দিয়ে ২০১২ সাল থেকে কোনও বড় অগ্রগতি দেখেনি। এটি সোর্সফোর্জ থেকে গিথুব এ চলে গেছে। এই উত্তরটি নতুন লিঙ্কগুলি অন্তর্ভুক্ত করার জন্য আপডেট করা হয়েছে।

আমি অবশ্য ডুটি ব্যবহার করি । আমি এই জাতীয় একটি ফাইল (প্রায় 100 টি লাইন সহ) সংরক্ষণ করেছি ~/.duti:

org.gnu.Emacs public.plain-text all # .txt, .text, plain text files without an extension
org.gnu.Emacs public.unix-executable all # executable scripts
com.SequentialX.Sequential .jpg all
org.videolan.vlc .mkv all

আমার একটি লঞ্চযুক্ত এজেন্ট রয়েছে যা পরিবর্তিত duti ~/.dutiহলে স্বয়ংক্রিয়ভাবে চলে ~/.duti

আপনি সাধারণত ফাইলের প্রকার নির্দিষ্ট করতে .jpgকোনও ইউটিআই (লাইক public.jpg) এর পরিবর্তে ফাইলের নাম এক্সটেনশনগুলি (যেমন ) ব্যবহার করতে পারেন । dutiএক্সটেনশানগুলি ইউটিআইতে রূপান্তর করে যা অন্যান্য এক্সটেনশনের ক্ষেত্রেও (যেমন .jpeg) প্রযোজ্য । কিছু এক্সটেনশনের মতো .mkvএবং এর জন্য .tex, ইউটিআই নির্ভর করে কোন অ্যাপ্লিকেশনটি প্রথমে এক্সটেনশনটি নিবন্ধ করেছে on

সর্বশেষ সংস্করণ এর dutiশুধুমাত্র সোর্স কোড অন্তর্ভুক্ত, কিন্তু 1.5.0 এছাড়াও একটি ইনস্টলার অন্তর্ভুক্ত করা হয়েছে।


5

দুটি পরীক্ষা করে দেখুন :

ডুটি হ'ল অ্যান্ড্রু মর্টেনসেন রচিত একটি কমান্ড-লাইন সরঞ্জাম, যা ম্যাক ওএস এক্সে নথি প্রকার এবং ইউআরএল স্কিমের জন্য ডিফল্ট অ্যাপ্লিকেশন সেট করার জন্য ডিজাইন করা হয়েছে designed

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

দুটির নামের অর্থ "ইউটিআইয়ের জন্য ডিফল্ট" "


2
বাধ্যতামূলক পরামর্শ: brew install dutiইনস্টল করতে ব্যবহার করুনduti
পিয়ার পাওলো রামন

1

এখানে ডিউটির জন্য একটি চালু করা এজেন্ট যা কৌশলটি করবে:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>com.duti.watcher</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/bin/duti</string>
      <string>/Users/joshgummersall/.duti</string>
    </array>
    <key>UserName</key>
    <string>joshgummersall</string>
    <key>KeepAlive</key>
    <false/>
    <key>WatchPaths</key>
    <array>
      <string>/Users/joshgummersall/.duti</string>
    </array>
  </dict>
</plist>

অবশ্যই joshgummersallআপনার নিজের ব্যবহারকারীর নামটি দিয়ে প্রতিস্থাপন করুন । আমি এই ফাইলটি স্থাপন ~/Library/LaunchAgents/duti.plist, chmmod644 এবং দৌড়ে D:

$ launchctl load -F -w ~/Library/LaunchAgents/duti.plist

0

সংক্ষিপ্ত উত্তর: একটি ফাইলের অ্যাপ্লিকেশন সমিতি ফাইলের রিসোর্স ফর্ক এ সংরক্ষণ করা হয় এবং অ্যাপল দুটি ইউটিলিটি ( রেজ এবং ডিরিজ ) সরবরাহ করে যা সংস্থানসমূহের কাঁটাচামচ করার অনুমতি দেয়, তবে এটি হৃদয়ের মূর্ছা নয়।

আরও তথ্যের জন্য, সুপার ব্যবহারকারীটিতে এই প্রশ্নের উত্তর খুব ভালভাবে দেওয়া হয়েছে:

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