created: 2019-09-12T03:29:58.000Z

macosでデフォルトで開くアプリをコマンドライン(duti)で変更する

macosでは各拡張子ごとにデフォルトで開くアプリが決まっている

Finderから変更はできるが、扱う拡張子はけっこうたくさんあるのでいちいち変更するのがとても面倒なのでスクリプト化できるcliで変更したい

duti

duti を使えばコマンドラインからデフォルトアプリが変更できる

install

brew で入る

$ brew install duti
...
$ duti -h
usage: duti [ -hvV ] [ -d uti ] [ -l uti ] [ settings_path ]
usage: duti -s bundle_id { uti | url_scheme } [ role ]
usage: duti -x extension

表示

-x オプションと拡張子で、いまデフォルトになにが設定されているか確認できる

$ duti -x .md
Xcode
/Applications/Xcode.app
com.apple.dt.Xcode

変更

-s オプションと拡張子,アプリURIで、デフォルトアプリを設定できる

$ duti -s com.microsoft.VSCode .md all
$ duti -x .md  # 確認
Visual Studio Code
/Applications/Visual Studio Code.app
com.microsoft.VSCode
アイリスオーヤマ ワイヤレス テレビ チューナー 地デジ/BS/CS 録画予約可能 LUCAステーション IST-BAUL201
[ad] アイリスオーヤマ ワイヤレス テレビ チューナー 地デジ/BS/CS 録画予約可能 LUCAステーション IST-BAUL201
アイリスオーヤマ(IRIS OHYAMA) (エレクトロニクス)