OS X에서 더 많은 기본값 쓰기 조정을 탐색하는 방법은 무엇입니까? write”명령으로 수행 할 수있는 새로운 조정 방법을

OS X (ML)의 “defaults write”명령으로 수행 할 수있는 새로운 조정 방법을 살펴보고 싶습니다.

알려진 비틀기를 온라인으로 사냥하지 않고 스스로 찾을 수있는 방법은 무엇입니까?



답변

면책 조항 : 저는 설정 ~/.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 도구도 있습니다.


답변

다른 문자열 명령 :

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

답변

내가 당신의 질문에서 가정 한 것은 응용 프로그램의 조정 / 설정을 탐색하고 싶다는 것입니다. 이 사소한 명령으로 앱의 환경 설정을 읽을 수 있습니다

defaults read NSGlobalDomain

또는

defaults read com.google.Chrome 요청한 기본 쓰기 명령에서 크롬 쓰기 가능 환경 설정을 읽으려면.