如何在 OS X 上探索更多默认写入调整?

如何在 OS X 上探索更多默认写入调整?

我想探索可以通过 OS X(ML) 中的“默认写入”命令完成的一些新调整。

我该怎么做才能自己找到它们,而不是在线搜索已知的调整?

答案1

免责声明:我是~/.osxdefaults 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

还有一个名为地理数据库可用于查找隐藏的偏好设置。

答案2

另一个字符串命令:

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显示修改了哪些属性列表。您可以使用七人实时显示其他文件系统的变化。

defaults 有一个 find 子命令:

$ defaults find nsquitalw
Found 1 keys in domain 'Apple Global Domain': {
    NSQuitAlwaysKeepsWindows = 1;
}

头文件通常包含首选项键的定义:

grep PreferenceKey -r ~/Code/Source/WebKit/ | grep '\.h:'

答案3

我从你的问题中推断出你想要探索应用程序的调整/设置。你可以用这个简单的命令读取应用程序的偏好设置

defaults read NSGlobalDomain

或者

defaults read com.google.Chrome从您要求的默认写入命令中读取 chrome 可写首选项。

相关内容