duti - macOS 預設應用程式管理工具
什麼是 duti?
duti 是一個 macOS 命令行工具,用於設定特定文件類型或 URL scheme 的預設處理應用程式。相較於在系統偏好設定中逐一修改,duti 讓你可以透過指令批次管理預設應用程式。
安裝
使用 Homebrew 安裝:
1 | brew install duti |
基本用法
查詢目前的預設應用程式
查詢特定檔案類型的預設應用程式:
1 | duti -x txt |
輸出範例:
1 | Visual Studio Code |
設定預設應用程式
設定預設應用程式的基本語法:
1 | duti -s <bundle_id> <uti_or_extension> <role> |
參數說明:
bundle_id:應用程式的 Bundle Identifier(例如com.microsoft.VSCode)uti_or_extension:UTI(Uniform Type Identifier)或副檔名role:角色類型all:所有角色viewer:檢視器editor:編輯器shell:Shell
實用範例
將所有 .txt 檔案預設用 VS Code 開啟:
1 | duti -s com.microsoft.VSCode .txt all |
將所有 .md 檔案預設用 VS Code 開啟:
1 | duti -s com.microsoft.VSCode .md all |
設定 .json 檔案:
1 | duti -s com.microsoft.VSCode .json all |
使用設定檔批次設定
建立一個設定檔 ~/.duti:
1 | # 文字檔案 |
套用設定檔:
1 | duti ~/.duti |
查詢應用程式的 Bundle ID
可以使用以下指令查詢應用程式的 Bundle Identifier:
1 | osascript -e 'id of app "Visual Studio Code"' |
或使用 mdls 指令:
1 | mdls -name kMDItemCFBundleIdentifier /Applications/Safari.app |
常見的 Bundle ID
| 應用程式 | Bundle ID |
|---|---|
| VS Code | com.microsoft.VSCode |
| Sublime Text | com.sublimetext.4 |
| Safari | com.apple.Safari |
| Chrome | com.google.Chrome |
| Firefox | org.mozilla.firefox |
| Preview | com.apple.Preview |
| Finder | com.apple.finder |
搭配 dotfiles 管理
將 duti 設定加入你的 dotfiles 安裝腳本中,可以在新機器上快速還原預設應用程式設定:
1 |
|
總結
duti 是一個簡單但實用的工具,特別適合:
- 經常重灌系統或換新電腦的使用者
- 想要自動化 macOS 設定的開發者
- 管理多台 Mac 的系統管理員
透過 duti,你可以將預設應用程式設定納入版本控制,輕鬆在不同機器間同步設定。