ForkLift 3をMacのデフォルトファイラに変更
MacのデフォルトのファイラをFinderからForkLift 3へと変更するための設定を行いました。
付随して、defaultsコマンドやplistファイルなどについても調べたのでまとめておこうかなと。
binarynights.com
上記のUser ManualのDefault File Viewerという項目に以下の様な記述があります。
You can set ForkLift 3 as default file viewer, and almost every app (except Desktop) will point to ForkLift when you choose Reveal in Finder, Show in Finder, or Open in Finder options. Paste the following command into Terminal and hit Enter: defaults write -g NSFileViewer -string com.binarynights.ForkLift-3; defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add '{LSHandlerContentType="public.folder";LSHandlerRoleAll="com.binarynights.ForkLift-3";}' Then restart your Mac. The second command is required in order to open folders in ForkLift by pressing Enter in Alfred. To change it back to Finder, use the following command then restart your Mac: defaults delete -g NSFileViewer If you set ForkLift as the default file viewer and you remove it from your system, Finder will automatically become the default one.
最初の2つのコマンドをターミナルで打ち込んでから再起動したらデフォルトのファイラがForkLift 3に変更できて、3つ目のコマンドを実行すればFinderに戻せるって書いている様子です。
しかし、完全に元に戻せるんか…?と不安でした。ForkLift 3をデフォルトのファイラにしたという情報が調べても特に見当たらなかったので、コマンドの意味を少々調べました。
調べてみるとどうやら、Macの隠れた設定を変更するためのdefaultsコマンドというものを使っているようです。
defaultsコマンドでは/Library/Preferences/
及び~/Library/Preferences/
配下のplistファイル群が扱われる(らしい)です。
また、私が試した限りでは、-g
オプションがあると~/Library/Preferences/.GlobalPreferences.plist
を扱う様子でした。
事前確認
まずは現在の設定を確認します。
$ defaults read -g NSFileViewer 2017-12-25 16:25:28.416 defaults[26817:1133814] The domain/default pair of (kCFPreferencesAnyApplication, NSFileViewer) does not exist
NSFileViewerというキーはまだ存在していないことが分かるので、後々問題が発生してもキーの設定を丸ごと削除すれば設定をリセットできるはずです。
$ open /Users/cloveOS/Library/Preferences/.GlobalPreferences.plist
を実行すれば、以下の様なXcodeのGUI上での確認も可能です。
設定変更
1つ目のコマンドの実行
$ defaults write -g NSFileViewer -string com.binarynights.ForkLift-3
を実行しました。
正常に反映されているか確認します。
$ defaults read -g NSFileViewer com.binarynights.ForkLift-3
反映されていました。
また、
$ defaults find NSFileViewer
を実行すると、
Found 1 keys in domain 'Apple Global Domain': { NSFileViewer = "com.binarynights.ForkLift-3"; }
という表示が増えており、新たにキーが設定されたと分かります。
念のため、
$ open /Users/cloveOS/Library/Preferences/.GlobalPreferences.plist
を実行して確認しておくとさらに確実かもです。
設定を反映させるため再起動します。再起動したら、AlfredからでもForkLift 3が起動するようになりました。(まだ2つ目のコマンドを実行してないのに…なぜ?)
2つ目のコマンドの実行
続いて、2つ目のコマンドも(一応?)実行しておきましょう。
$ defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add '{LSHandlerContentType="public.folder";LSHandlerRoleAll="com.binarynights.ForkLift-3";}'
を実行すると~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist
へと変更が加えられます。
正常に反映されているか確認します。
$ defaults read com.apple.LaunchServices/com.apple.launchservices.secure
を実行すると、表示の最後の部分に
{ LSHandlerContentType = "public.folder"; LSHandlerRoleAll = "com.binarynights.ForkLift-3"; }
が追記されています。
戻し方
デフォルトのファイラをFinderに戻したければUser Manualの3つ目のコマンドの通り、
$ defaults delete -g NSFileViewer
を実行すれば~/Library/Preferences/.GlobalPreferences.plist
の該当箇所を削除できます。
なお、~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist
の該当箇所は再起動したら消えました。
Debug your life!
参考記事
Macギークなら知っておきたいdefaultsコマンドの使い方 | Macとかの雑記帳
OSXのコマンドラインからすると捗った設定リスト - will and way
Macでdefaultsコマンドで設定出来るオプションを調べる
OS X ハッキング!(315) stringsコマンドで裏オプション探し | マイナビニュース
システム環境設定をターミナル(defaultsコマンド)から設定する方法(一般) – OTTAN.XYZ
コマンドラインから見るosx 10.10 yosemite システム環境設定の風景 -- 1 行目編 - ばかもりだし