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에서 당신의 멋진 목록에 대해 알고있었습니다 .btw. 대단히 감사합니다! 지금 시도해보십시오.
Tom S

2
@Lri FWIW, 나는 지난주에 깨끗한 Mountain Lion 설치를 완료했으며 defaults read;여기서 잘 작동합니다.
Mathias Bynens

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.