डिफॉल्ट्स कमांड द्वारा एक निश्चित डोमेन एप्लिकेशन पर सभी उपलब्ध .plist कुंजियों को कैसे सूचीबद्ध किया जाए?


17

मैं सभी कुंजी (संपत्ति सूची) जानना चाहता हूं, जो कुछ डोमेन एप्लिकेशन पर उपलब्ध हैं, उदाहरण के लिए मैं com.apple.dockइस कमांड को दर्ज करके उपलब्ध कुंजी को सूचीबद्ध कर सकता हूं :

$ defaults read com.apple.dock

लेकिन किसी तरह इस कमांड के आउटपुट में केवल सक्रिय संपत्ति सूची कुंजी दिखाई दी, और फिर भी com.apple.dockवहां सूचीबद्ध सभी उपलब्ध कुंजी नहीं हैं।

इस पर कोई भी मेरी मदद कर सकता है?


क्या आपको बुरा लगता है अगर मैं इसे reword करता हूँ। आप उस टूल के बारे में पूछ रहे हैं जो संदेशों को लिखता है न कि संदेशों को पढ़ने वाले प्रोग्राम को रिवर्स करने के बारे में। डिफ़ॉल्ट रूप से, प्रोग्राम कुछ भी अनदेखा करता है जिसे आप चूक में डालते हैं जो इसे देखने की उम्मीद नहीं कर रहा था। आप खोजकर्ता Prefs में शेक्सपियर को एम्बेड कर सकते हैं और यह खुशी से तब तक कुछ भी नहीं करेगा जब तक कि यह एक बार फ़ाइल में लिखे गए वैध plist XML नहीं था।
bmike

@bmike मुझे इसका एहसास है। मैं जिस चीज में रुचि रखता था, वह उन मूल्यों की सूची थी, जिसका उपयोग वास्तव में अनुप्रयोग करता है। मुझे लगा कि Apps के अंदर एक मास्टर कॉन्फ़िग फ़ाइल में कहीं पूरी तरह से टिक कर रखी गई सूची हो सकती है।
awesomo

मूल्यों की सूची केवल प्रत्येक प्रोग्राम के लिए स्रोत कोड में मौजूद है। क्या आपके पास एक कार्यक्रम है जिसमें आप रुचि रखते हैं? एक बार जब वे संकलित हो जाते हैं, तो बाइनरी में स्ट्रिंग कुंजी को एन्कोड किया जाता है और सभी को अन्य स्ट्रिंग्स के साथ मिलाया जाता है। किसी प्रोग्राम के लेखक को सूची में शामिल करने से रोकने वाला कुछ भी नहीं है क्योंकि इसे आसानी से किसी भी एप्लिकेशन में मौजूद सामग्री / संसाधन फ़ोल्डर में जोड़ा जा सकता है। व्यवहार में, यह व्यापक रूप से नहीं किया गया है।
bmike

आप defaults readसामान्य वरीयताओं के लिए कुंजी खोजने या CFPreferencesCopyValuegdb में विधि का उपयोग करने के लिए आउटपुट को भी अलग कर सकते हैं । देखें कि ओएस एक्स पर ट्वीक्स लिखने के लिए कैसे और अधिक चूक का पता लगाएं? - सुपर यूजर
लारी

आप defaults readसामान्य प्राथमिकताओं के लिए कुंजी खोजने के लिए आउटपुट को भी अलग कर सकते हैं, चौखटों के बायनेरिज़ पर स्ट्रिंग्स चला सकते हैं या CFPreferencesCopyValueजीडीबी में विधि का उपयोग कर सकते हैं । देखें कि ओएस एक्स पर ट्वीक्स लिखने के लिए कैसे और अधिक चूक का पता लगाएं? - सुपर यूजर
लारी

जवाबों:


7

यह एक तुच्छ कार्य नहीं है, अगर मुझे याद है कि लोग stringsएप्लिकेशन के विरुद्ध कमांड-लाइन पर उपयोगिता को सही ढंग से चलाते हैं , और उन चीजों की तलाश करते हैं जो com.domain.eatureName के समान संरचना से मेल खाती हैं। (com.apple.iTunes, ch.cyberduck.CyberDuck, com.panic.Cub आदि)

इन ओवरराइड्स को प्रबंधित करने का सबसे आसान तरीका गोपनीयता के नाम से एक सिस्टम वरीयताएँ फलक है । इसका उपयोग करने से सिस्टम प्राथमिकता में वरीयता फलक स्थापित होता है, और आपको एक एप्लिकेशन चुनने और उनकी सेटिंग्स को आपकी विशेष पसंद में बदलने के लिए एक इंटरफ़ेस मिलता है।


मुझे अच्छा लगेगा अगर आपने इस पर भी जवाब दिया - Apple.stackexchange.com/questions/19899/… - स्ट्रिंग्स अंत उपयोगकर्ताओं के लिए कुंजी के इस रिवर्स इंजीनियरिंग का प्रयास करने का सबसे अनुकूल तरीका है।
bmike

6

इन मैक ओएस एक्स डिफॉल्ट्स को लिखने के लिए समर्पित एक वेबसाइट मिली, जिसमें मैक ओएस एक्स लॉयन एंड माउंटेन लॉयन के लिए कुछ आसान कमांड दिए गए थे।

http://www.defaults-write.com


5

वास्तव में "उपलब्ध" कुंजियों की धारणा नहीं है। आवेदन जो कुछ भी चाबियाँ यह पढ़ने के लिए स्वतंत्र है। अधिकांश लोग stringsएप्लिकेशन को बाइनरी के माध्यम से देखने के लिए "सीक्रेट" डिफॉल्ट कुंजियों की खोज करते हैं, यह देखने के लिए कि वह किन कुंजियों को पढ़ने की कोशिश करेगी।


हां, यह ठीक यही है कि मैं "गुप्त" चूक कुंजी ढूंढना चाहता हूं। क्या आप "गुप्त" कुंजी के बारे में आगे बता सकते हैं? यह बहुत उपयोगी है अगर कोई उदाहरण है। आपका बहुत बहुत धन्यवाद।
वॉन्गसैड

1
कई प्रसिद्ध उदाहरण में सूचीबद्ध हैं secrets.blacktree.com
jtbandes

धन्यवाद!! मुझे पता है अगर आप इस तरह की जानकारी पर कोई अन्य महान लिंक था। :-)
wongacid

4

यहां ज्यादातर लोग कमांड लाइन के माध्यम से सब कुछ करना चाहते हैं, लेकिन मेरे पास अधिक व्यावहारिक सुझाव है।

नीचे दिए गए इन दो कार्यक्रमों में मैक ओएस एक्स अनुप्रयोगों के ज्ञात कमांड-लाइन अनुकूलन योग्य विशेषताओं की एक बड़ी सूची है, जो अनुप्रयोग या फ़ंक्शन द्वारा क्रमबद्ध है। लाभ आपके लिए प्रदान किए गए कार्यों की सूची है; प्रत्येक फ़ंक्शन को संशोधित करने के लिए आवश्यक फ़ंक्शन और कमांड-लाइन अनुक्रम क्या हैं, यह जानने के लिए आपको Google पर जाने की ज़रूरत नहीं है।

ऐसे कई फ़्रीवेयर या व्यावसायिक अनुप्रयोग हैं जो टर्मिनल के माध्यम से संशोधित किए जा सकने वाले अधिकांश अनुकूलन विकल्पों को सूचीबद्ध करने के लिए एक ग्राफ़िकल यूज़र इंटरफ़ेस प्रदान करते हैं। इनमें से किसी भी विशेषता को सक्रिय करने के लिए, मैं जो इन विवरणों का उपयोग कर रहा हूं, उनका उपयोग आप एप्लिकेशन के GUI में करते हैं और आपको कमांड लाइन का उपयोग करने की कोई आवश्यकता नहीं है। आप के बारे में कुछ भी जानने की जरूरत नहीं हैdefaults write या .plistफ़ाइलों के ।

इनमें से दो ऐप्स हैं:

TinkerTool

जो मुफ़्त है, और

MacPilot

जिसे अभी हाल ही में लायन के नए फीचर्स के साथ अपडेट किया गया है, और इसकी लागत $ 20.00 है।

ये ऐसे कार्यक्रम हैं जो मेरे पास हैं और उपयोग करते हैं।

मुफ्त TinkerTool और MacPilot के परीक्षण संस्करण को डाउनलोड करें और सभी असंख्य विशेषताओं को देखने के लिए सभी टैब के माध्यम से क्लिक करें। यहाँ सूचीबद्ध करने के लिए बहुत सारे हैं।

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

अपडेट करें

डेवलपर फ्रेडरिक विकर ने डिफॉल्ट लेखन के लिए फ्रीवेयर ऐप्स (दान स्वीकार किए गए) जारी किए हैं, जो शेर और माउंटेन लायन के लिए विशिष्ट अनुकूलन लिखते हैं; उनमें से कई Mavericks (Mac OS X 10.9) के लिए भी ठीक काम करते हैं।

इन्हें डाउनलोड करें और देखें कि आपके लिए क्या अनुकूलन उपलब्ध हैं।

लायन ट्विक्स

पहाड़ की चोटियाँ

यहाँ छवि विवरण दर्ज करें


सिफारिशों के लिए धन्यवाद। मैं वैकल्पिक दृष्टिकोण की सराहना करता हूं।
awesomo

आपको वास्तव में इस / गेहूं के उत्तर को स्वीकार करना चाहिए। यह प्रकाश वर्ष मेरे आगे है।
जेसन सलज

3

शायद एक काफी लंबी व्याख्या कैसे काम करती है और आपके "दूसरों" की इन "छिपी" वरीयताओं को खोज सकती है।

ज्यादातर एप्लिकेशन शुरू होने पर एक बार उनकी प्राथमिकता वाली फाइलों को पढ़ेंगे और यह defaultsसुनिश्चित करने के लिए उपकरण मौजूद है कि वरीयता फाइलें एक वैध संरचना हैं और इसमें सिंटैक्स त्रुटियां नहीं हैं। (यह सिस्टम को यह भी बदलने की अनुमति देता है कि चाबियाँ कैसे संग्रहीत की जाती हैं और लोगों को कार्यान्वयन विवरणों को जानने की जरूरत नहीं है और चूक का उपयोग कर सकते हैं सभी पढ़ने और लिखने के कमांड का ।)

अंग्रेजी भाषा शैली और व्याकरण गाइड यह सुनिश्चित करते हैं कि मेरे द्वारा टाइप किए गए शब्द औसत अंग्रेजी वक्ता के लिए सार्थक हैं, और चूक प्रणाली को मानकीकृत करना एक रूपरेखा निर्धारित करता है ताकि हर कोई जानता हो कि क्या उम्मीद है। वरीयता सूची प्रारूपण मानव भाषा की तुलना में कहीं अधिक कठोर और गणितीय है, लेकिन अवधारणाएं समान हैं।

मैक ओएस एक्स उपयोगकर्ता डिफॉल्ट सिस्टम एक महत्वपूर्ण मूल्य स्टोर है (या यदि आप चाहें तो डेटाबेस)।

आप इन प्राथमिकता कुंजी मूल्य स्टोर, शेक्सपियर सॉनेट, संख्या, खरीदारी सूची में कुछ भी लिख सकते हैं। यदि प्रोग्राम को एक विशिष्ट कुंजी की तलाश करने के लिए कोडित किया जाता है, तो वह संग्रहीत मान को पढ़ेगा। यदि यह उस कुंजी की तलाश नहीं कर रहा है - तो यह अप्रयुक्त और अपठित है।

इससे पता चलता है कि कैसे पता चलता है कि किसी विशिष्ट प्रोग्राम को शुरू करते समय कौन से मूल्यों की तलाश हो सकती है। यह आपके लिए उबलता है या तो प्रोग्राम को मूल्य या रिवर्स-इंजीनियर जानना है।

कई उपकरण एक कार्यक्रम को देखने के लिए मौजूद हैं और यह पता लगाने की कोशिश करते हैं कि क्या तार (चाबियां) एम्बेडेड हैं, जैसे strings dbx / lldb के साथ-साथ अपनी खुद की लाइब्रेरी में लिंक करके किसी विशिष्ट प्रोग्राम की आंतरिक संरचना को डंप करना।

व्यवहार में, परीक्षण के लिए आवश्यक कुछ चीजें इस "छिपे हुए" तरीके से जोड़ दी जाती हैं ताकि आप कार्यक्रम की प्राथमिकता फलक पर न देख सकें और इन नई सुविधाओं को देख सकें जो व्यापक उपयोग के लिए तैयार नहीं हैं। एक तरह से, यह एक व्यापक सूची प्राप्त करने के लिए बिल्कुल भी सरल नहीं है जब तक कि कार्यक्रम के लेखक स्रोत कोड को जारी नहीं करते हैं या अन्यथा इन सेटिंग्स को सार्वजनिक रूप से दस्तावेज़ करते हैं।

जब आप किसी विशेष ऐप के लिए डिफॉल्ट्स स्टोर पढ़ते हैं - आप बस "पुस्तक" पढ़ रहे हैं जो तब लिखा गया था जब ऐप ने इसे डिफ़ॉल्ट सेट या मैक ओएस एक्स के साथ भेज दिया सेटिंग्स है। यही कारण है कि आप संपूर्ण प्राप्त नहीं करते हैं उन चीजों की सूची जो उस एप्लिकेशन के साथ बदलने के लिए वास्तविक रूप से संभव हैं।


2

जहां तक ​​मुझे पता है कि एक एप्लिकेशन केवल एक नई कुंजी संग्रहीत करेगा यदि वह इसे डिफॉल्ट से अलग करता है, तो कम से कम मेरे ऐप क्या करते हैं। यह कुछ ऐसा नहीं है जिसे आसानी से नियंत्रित किया जा सकता है क्योंकि यह उपयोगकर्ता डिफॉल्ट्स फ्रेमवर्क का हिस्सा है, क्योंकि ऐप केवल उपयोगकर्ता को यह बताता है कि उसे क्या संग्रहीत करने की आवश्यकता है और यह बाकी की देखभाल करता है। मुझे नहीं लगता कि आप जिस जानकारी की तलाश कर रहे हैं वह आसानी से प्राप्त होने वाली है, दुख की बात है। हालांकि इस तक पहुंच होना अच्छा हो सकता है।

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