Jawaban:
Penafian: Saya penulis ~/.osx
, kumpulan defaults write
pengaturan . Ini adalah teknik yang saya gunakan untuk menemukan pengaturan. Beri tahu saya jika ada metode yang lebih baik / lebih mudah yang tidak saya sebutkan di sini!
Untuk sebagian besar pengaturan yang tidak tersembunyi, ini adalah bagaimana Anda dapat menemukan kunci preferensi yang benar di Terminal.app:
defaults read > a
# Change the setting
defaults read > b
diff a b
Untuk pengaturan tersembunyi, itu menjadi lebih rumit. Anda dapat menggunakan strings
utilitas baris perintah pada sembarang biner yang dapat dieksekusi dan melihat apakah ada teks yang dihasilkan seperti kunci preferensi. Misalnya:
strings /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
Berikut ini contoh lain yang akan melihat semua .framework
file dalam /System/Library/Frameworks/
dan memfilter output agak:
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
Ada juga alat yang disebut GDB yang dapat digunakan untuk menemukan preferensi tersembunyi.
defaults read;
berfungsi dengan baik di sini.
Perintah string lain:
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
menunjukkan daftar properti apa yang diubah. Anda dapat menggunakan fseventer untuk menampilkan perubahan sistem file lainnya secara real time.
default memiliki sub-perintah find:
$ defaults find nsquitalw
Found 1 keys in domain 'Apple Global Domain': {
NSQuitAlwaysKeepsWindows = 1;
}
File header sering berisi definisi untuk kunci preferensi:
grep PreferenceKey -r ~/Code/Source/WebKit/ | grep '\.h:'
Apa yang saya asumsikan dari pertanyaan Anda adalah Anda ingin menjelajahi tweak / pengaturan aplikasi. Anda dapat membaca preferensi aplikasi dengan perintah sepele ini
defaults read NSGlobalDomain
atau
defaults read com.google.Chrome
untuk membaca preferensi chrome yang dapat ditulisi dari perintah tulis default yang Anda minta.