คุณสามารถแก้ไข~/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
เพื่อดู UTIs ประเภทไฟล์และสิ่งที่ต้องการosascript -e 'id of app "AppName"'
ดูตัวระบุบันเดิลของแอปพลิเคชัน
คุณสามารถใช้การเปลี่ยนแปลงกับการcom.apple.LaunchServices.plist
รีสตาร์ท การออกจากระบบและกลับเข้ามาไม่เพียงพอ
หมายเหตุ : duti
ไม่ได้อยู่ในการพัฒนาที่ใช้งานได้อีกต่อไปและได้รับการกำกับดูแลโดยผู้ดูแลว่า "ไม่สนับสนุน" โครงการไม่ได้เห็นความคืบหน้าสำคัญใด ๆ ตั้งแต่ปี 2555 นอกเหนือจากการอัพเดทการกำหนดค่า มันย้ายจาก Sourceforge ไปยัง Github คำตอบนี้ได้รับการอัพเดทเพื่อรวมลิงค์ใหม่
ฉันยังใช้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
) แทน UTIs (เช่นpublic.jpg
) เพื่อระบุประเภทไฟล์ duti
แปลงส่วนขยายเป็น UTIs ที่ใช้กับส่วนขยายอื่น ๆ (เช่น.jpeg
) สำหรับส่วนขยายบางอย่างเช่น.mkv
และ.tex
UTI ขึ้นอยู่กับแอปพลิเคชันที่ลงทะเบียนส่วนขยายก่อน
รุ่นล่าสุดของduti
เพียง แต่มีรหัสที่มา แต่1.5.0นอกจากนี้ยังมีการติดตั้ง
brew install duti
ในการติดตั้งduti