OS Xでより多くのデフォルトを調べて微調整を書く方法は?


13

OS X(ML)の「defaults write」コマンドで実行できるいくつかの新しい調整を検討したいと思います。

既知の微調整をオンラインで探すのではなく、自分で見つけるにはどうすればよいですか?

回答:


20

免責事項:私は、設定の~/.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と呼ばれるツールもあります。


1
どうもありがとうございました。あなたが私に返信しているとは信じられません!昔、githubであなたの素敵なリストを知っていました。本当にありがとう!今これを試してみます。
トムS

2
@Lri FWIW、先週、Mountain Lionのクリーンインストールを実行しましたが、defaults read;ここでは問題なく動作します。
Mathias Bynens 2012

0

別の文字列コマンド:

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:'

-1

私があなたの質問から推測したのは、アプリケーションの微調整/設定を調べたいということです。この簡単なコマンドでアプリの設定を読むことができます

defaults read NSGlobalDomain

または

defaults read com.google.Chrome 要求したデフォルトの書き込みコマンドからクロムの書き込み可能な設定を読み取る。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.