Odpowiedzi:
Oświadczenie: Jestem autorem ~/.osx
zbioru defaults write
ustawień . To są techniki, których używam do znajdowania ustawień. Daj mi znać, jeśli istnieje lepsza / łatwiejsza metoda, o której tu nie wspomniałem!
W przypadku większości nie ukrytych ustawień w ten sposób można znaleźć poprawne klucze preferencji w Terminal.app:
defaults read > a
# Change the setting
defaults read > b
diff a b
W przypadku ukrytych ustawień robi się trudniej. Możesz użyć strings
narzędzia wiersza polecenia na dowolnym binarnym pliku wykonywalnym i sprawdzić, czy tekst wynikowy wygląda jak klucz preferencji. Na przykład:
strings /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
Oto kolejny przykład, który przejrzy wszystkie .framework
pliki /System/Library/Frameworks/
i nieco odfiltruje dane wyjściowe:
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
Istnieje również narzędzie o nazwie GDB, za pomocą którego można znaleźć ukryte preferencje.
defaults read;
działa dobrze tutaj.
Kolejne polecenie łańcuchów:
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
pokazuje, które listy właściwości są modyfikowane. Możesz użyć fseventer do wyświetlania innych zmian w systemie plików w czasie rzeczywistym.
defaults ma komendę find:
$ defaults find nsquitalw
Found 1 keys in domain 'Apple Global Domain': {
NSQuitAlwaysKeepsWindows = 1;
}
Pliki nagłówkowe często zawierają definicje kluczy preferencji:
grep PreferenceKey -r ~/Code/Source/WebKit/ | grep '\.h:'
Z twojego pytania wywnioskowałem, że chcesz poznać poprawki / ustawienia aplikacji. Za pomocą tego trywialnego polecenia możesz odczytać preferencje aplikacji
defaults read NSGlobalDomain
lub
defaults read com.google.Chrome
aby odczytać preferencje zapisu chrome z domyślnego polecenia zapisu, o które prosiłeś.