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
요청한 기본 쓰기 명령에서 크롬 쓰기 가능 환경 설정을 읽으려면.