जवाबों:
अस्वीकरण: मैं लेखक हूँ ~/.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 नामक एक उपकरण भी है जिसका उपयोग छिपी वरीयताओं को खोजने के लिए किया जा सकता है।
defaults read;
यहाँ ठीक काम करता है।
एक और तार कमांड:
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 का उपयोग कर सकते हैं ।
डिफॉल्ट्स में एक सबकुंड पाया जाता है:
$ 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
डिफॉल्ट से कमांड लिखने के लिए क्रोम राइट करने योग्य प्राथमिकताएं पढ़ें, जो आपने पूछा था।