Respuestas:
Descargo de responsabilidad: soy el autor de ~/.osx
una colección de defaults write
configuraciones . Estas son las técnicas que utilizo para buscar configuraciones. ¡Avíseme si hay un método mejor / más fácil que no mencioné aquí!
Para la mayoría de las configuraciones no ocultas, así es como puede encontrar las claves de preferencia correctas en Terminal.app:
defaults read > a
# Change the setting
defaults read > b
diff a b
Para configuraciones ocultas, se vuelve más complicado. Puede usar la strings
utilidad de línea de comandos en cualquier ejecutable binario y ver si alguno de los textos resultantes parece una clave de preferencia. P.ej:
strings /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
Aquí hay otro ejemplo que examinará todos los .framework
archivos /System/Library/Frameworks/
y filtrará un poco la salida:
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
También hay una herramienta llamada GDB que se puede usar para encontrar preferencias ocultas.
defaults read;
funciona bien aquí.
Otro comando de cadenas:
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
muestra qué listas de propiedades se modifican. Puede usar fseventer para mostrar otros cambios en el sistema de archivos en tiempo real.
los valores predeterminados tienen un subcomando find:
$ defaults find nsquitalw
Found 1 keys in domain 'Apple Global Domain': {
NSQuitAlwaysKeepsWindows = 1;
}
Los archivos de encabezado a menudo contienen definiciones para las claves de preferencia:
grep PreferenceKey -r ~/Code/Source/WebKit/ | grep '\.h:'
Lo que asumí de su pregunta es que desea explorar ajustes / configuraciones de una aplicación. Puede leer las preferencias de una aplicación con este comando trivial
defaults read NSGlobalDomain
o
defaults read com.google.Chrome
para leer las preferencias de escritura de Chrome desde el comando de escritura predeterminado que solicitó.