OS X पर अधिक डिफ़ॉल्ट लिखने के लिए ट्वीक्स कैसे लिखें?


13

मैं ओएस एक्स (एमएल) में "डिफॉल्ट्स राइट" कमांड द्वारा कुछ नए मोड़ का पता लगाना चाहूंगा।

मुझे ज्ञात ट्वीक्स के लिए ऑनलाइन शिकार करने के बजाय उन्हें स्वयं को खोजने के लिए क्या करना चाहिए?

जवाबों:


20

अस्वीकरण: मैं लेखक हूँ ~/.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 नामक एक उपकरण भी है जिसका उपयोग छिपी वरीयताओं को खोजने के लिए किया जा सकता है।


1
बहुत बहुत धन्यवाद और मुझे विश्वास नहीं हो रहा है कि आप मुझे जवाब दे रहे हैं! मुझे आपकी अच्छी सूची के बारे में बहुत पहले पता था कि btw। बहुत बहुत धन्यवाद! अब यही कोशिश करेंगे।
टॉम एस

2
@LI FWIW, मैंने पिछले सप्ताह ही एक क्लीन माउंटेन लायन स्थापित किया है और defaults read;यहाँ ठीक काम करता है।
मथियास बीनेंस

0

एक और तार कमांड:

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:'

-1

मैंने आपके प्रश्न से क्या ग्रहण किया है, क्या आप किसी एप्लिकेशन के ट्वीक्स / सेटिंग्स का पता लगाना चाहते हैं। आप इस तुच्छ कमांड के साथ किसी एप्लिकेशन की प्राथमिकताएं पढ़ सकते हैं

defaults read NSGlobalDomain

या

defaults read com.google.Chrome डिफॉल्ट से कमांड लिखने के लिए क्रोम राइट करने योग्य प्राथमिकताएं पढ़ें, जो आपने पूछा था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.