回答:
免責事項:私は、設定の~/.osx
コレクションのdefaults write
作者です。これらは、設定を見つけるために使用する手法です。ここで言及しなかったより良い/より簡単な方法があるかどうか教えてください!
ほとんどの非表示設定では、これがTerminal.appで正しい設定キーを見つける方法です。
defaults read > a
# Change the setting
defaults read > b
diff a b
非表示の設定の場合、トリッキーになります。strings
任意のバイナリ実行可能ファイルでコマンドラインユーティリティを使用して、結果のテキストが設定キーのように見えるかどうかを確認できます。例えば:
strings /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
次の例では、すべての.framework
ファイルを調べて/System/Library/Frameworks/
、出力を多少フィルタリングします。
strings /System/Library/Frameworks/*.framework/Versions/Current/* /System/Library/Frameworks/*/Frameworks/*/Versions/Current/* 2> /dev/null | grep -E '^[a-zA-Z0-9_.-]{10,80}$' | sort | uniq
非表示の設定を見つけるために使用できるGDBと呼ばれるツールもあります。
defaults read;
ここでは問題なく動作します。
別の文字列コマンド:
for f in $(mdfind kMDItemContentType==public.unix-executable -onlyin /System/Library/); do strings $f 2> /dev/null | grep -E '^[[:alnum:]_.-]{10,80}$' | grep ^Apple | sort -u | sed "s/^/${f##*/} /g"; done
sudo opensnoop -n cfprefsd
変更されたプロパティリストを示します。fseventerを使用して、他のファイルシステムの変更をリアルタイムで表示できます。
デフォルトには、findサブコマンドがあります。
$ defaults find nsquitalw
Found 1 keys in domain 'Apple Global Domain': {
NSQuitAlwaysKeepsWindows = 1;
}
多くの場合、ヘッダーファイルには設定キーの定義が含まれています。
grep PreferenceKey -r ~/Code/Source/WebKit/ | grep '\.h:'