मैं योसेमाइट पर स्पॉटलाइट आइकन कैसे छिपाऊं, लेकिन स्पॉटलाइट की कार्यक्षमता को बनाए रखें?


62

मैं ओएस एक्स में स्पॉटलाइट का उपयोग करता हूं, और मैंने मेनू बार के लिए इसके लगाव को नापसंद किया है।

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

खोज आइकन ( chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search) को अक्षम करने का पारंपरिक तरीका स्पॉटलाइट को भी पूरी तरह से निष्क्रिय कर देता है। मैं स्पॉटलाइट कार्यक्षमता रखना चाहता हूं, लेकिन (अब बेकार) मेनूबार आइकन को मार सकता हूं, क्योंकि मैं सीएमडी + स्पेस के साथ स्पॉटलाइट को बुला सकता हूं।

मैंने बारटेन्डर को भी आज़माया है, जो काम करता है, लेकिन दोनों (एक आइकन को हटाने के लिए $ 15) है!

स्पॉटलाइट आइकन को हटाने का सबसे अच्छा तरीका क्या है?


परीक्षण नहीं किया गया है और लगता है कि थोड़ा पुराना हो सकता है, लेकिन सवाल एक ही है और उत्तर को चिह्नित और स्वीकार किया जाता है। superuser.com/a/32802/375410
jherran

1
@ जागरण: यह दुर्भाग्य से समस्या का समाधान नहीं है। मैं अभी भी स्पॉटलाइट ओवरले को लॉन्च करने के लिए सीएमडी + स्पेस का उपयोग करने में सक्षम होना चाहता हूं।
nnonneo

जवाबों:


36

इसलिए मैं इससे तंग आ गया और इसे कठिन तरीके से ठीक करने का फैसला किया।

मुझे पता चला कि स्पॉटलाइट कहाँ स्थिति बार आइटम को इनिशियलाइज़ करता है, और मैंने अभी स्टेटस बार के आकार को शून्य पर पैच किया है। इसके लिए स्पॉटलाइट बाइनरी को संपादित करना आवश्यक है । (ध्यान दें कि स्टेटस बार को नियंत्रित करने की अनुमति देने के लिए Search.bundleलोड किया गया छोटा स्टब है )।SystemUIServerSpotlight.app

आपको कुछ कमांड निष्पादित करने के लिए टर्मिनल का उपयोग करना होगा।

OS X 10.10 (Yosemite) के लिए:

cd /System/Library/CoreServices/Spotlight.app/Contents/MacOS
sudo cp Spotlight Spotlight.bak
sudo perl -pi -e 's|(\x48\xb8\x00\x00\x00\x00\x00\x00)\x42\x40(\x48\x89\x47\x10\x48\xB8\x00\x00\x00\x00\x00\x00\x36\x40)|$1\x00\x00$2|sg' Spotlight
cmp -l Spotlight Spotlight.bak 
sudo codesign -f -s - Spotlight
sudo killall Spotlight

OS X 10.11 (El Capitan) के लिए:

cd /System/Library/CoreServices/Spotlight.app/Contents/MacOS
sudo cp Spotlight Spotlight.bak
sudo perl -pi -e 's|(\x00\x00\x00\x00\x00\x00\x47\x40\x00\x00\x00\x00\x00\x00)\x42\x40(\x00\x00\x80\x3f\x00\x00\x70\x42)|$1\x00\x00$2|sg' Spotlight
cmp -l Spotlight Spotlight.bak 
sudo codesign -f -s - Spotlight
sudo killall Spotlight

cmp -lलाइन बाहर निम्नलिखित की तरह कुछ प्रिंट करना चाहिए:

248855   0 102
248856   0 100

यदि यह कुछ भी प्रिंट नहीं करता है, तो पैच विफल हो गया। मैंने इसका परीक्षण OS X 10.10.3 (Yosemite) और OS X 10.11.5 (El Capitan; SIP off) पर किया है।

यह पैच जो कर रहा है वह स्थिति पट्टी चौड़ाई मान (36.0, या 0000000000004240 फ़्लोटिंग-पॉइंट हेक्स में) को शून्य से बदल रहा है, ताकि जब स्थिति बार आइटम लोड हो जाए तो यह केवल शून्य की चौड़ाई के साथ प्रदान करता है, अर्थात यह अदृश्य और doesn है 'बार के लेआउट को प्रभावित नहीं करता है।

इस हैक करने से पहले स्क्रीनशॉट:

हैक करने से पहले

इस हैक करने के बाद स्क्रीनशॉट:

हैक करने के बाद

मेनू आइकन चला गया है, लेकिन Cmd + Space काम करना जारी रखता है।


वापस करने के लिए, निम्नलिखित करें:

cd /System/Library/CoreServices/Spotlight.app/Contents/MacOS
sudo mv Spotlight.bak Spotlight
sudo killall Spotlight

यह वास्तव में भयानक लग रहा है, लेकिन हमारे बीच कम टर्मिनल-साक्षर के लिए, क्या आप कृपया निर्देश जोड़ सकते हैं कि यदि हम कभी भी इच्छुक हैं तो वापस सामान्य कैसे लौट सकते हैं?
user24601

3
उन निर्देशों को जोड़ा।
nnonneo

1
इसके बाद स्पॉटलाइट अब शुरू नहीं होती है। $ codesign -f -s - Spotlight Spotlight: replacing existing signature Spotlight: bundle format unrecognized, invalid, or unsuitable
राममोझ

1
स्पॉटलाइट: मौजूदा सिग्नेचर स्पॉटलाइट्स को बदलना: बंडल फॉर्मेट अपरिचित, अमान्य, या अनुपयुक्त: उपसमुदाय में: /System/Library/CoreServices/Spotlight.app/Contents/XPCServices.com/apple.metadata.SpotlightNetHelper.xpc
Jarno

2
सिएरा के लिए अभी भी मान्य है, हालांकि मुझे अस्थायी रूप से सिस्टम इंटीग्रिटी प्रोटेक्शन ( stackoverflow.com/a/32661637/1252653 ) को निष्क्रिय करने के लिए मुझे स्पॉटलाइट निष्पादन योग्य डुप्लिकेट को अधिकार देना था।
टिनिस्ट्राइड

16

मैं यूटिलिटी ऐप का उपयोग करने की सलाह देता हूं, जिसे बारटेंडर कहा जाता है। http://www.macbartender.com

यह मेनू बार आइकन प्रदर्शित करने के तरीके को बदलने और बदलने के लिए एक उपयोगी उपयोगिता है। आप उन्हें मेन्यू बार में छोड़ सकते हैं, क्या उन्हें बारटेंडर बार में गिरा दिया गया है जो कि आपके मेनू बार में एक छोटे आइकन के माध्यम से खोला जाता है, लेकिन मेनू बार में सामान्य रूप से किसी भी आइकन को पकड़ सकते हैं, या आइकन को पूरी तरह से छिपा सकते हैं।

आप यहां स्क्रीनशॉट देख सकते हैं:

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


6
मैंने कहा कि मैं अपने प्रश्न में बारटेंडर का उपयोग नहीं करना चाहता था, लेकिन वैसे भी सूचक के लिए धन्यवाद।
nnonneo 16

5
दोनों (OSX और बारटेंडर) के नवीनतम संस्करण में अब और काम नहीं करता है :-(
स्ट्रंडर

2
अद्यतन: काम करता है अगर आप इस तरह से जाते हैं stackoverflow.com/questions/31640732/…
Strinder

सिएरा के साथ संगत?
डैनियल स्प्रिंगर

कैसे दुनिया में बारटेन्डर इसे इस तरह छिपाता है ...
डैनियल स्प्रिंगर

11

मैंने आइकन और स्पॉटलाइट खोज कार्यक्षमता को हटाकर समाप्त कर दिया और अब मैं इसके बजाय अल्फ्रेड का उपयोग करता हूं ; यह तेज़ है और यह मुफ़्त है (विस्तार देने के साथ जिसकी आपको ज़्यादा ज़रूरत नहीं है)।

स्पॉटलाइट दिखाई देने वाले एप्लिकेशन (और आइकन) को हटाने से इंडेक्सेशन सेवाएं बंद नहीं होती हैं , केवल ग्राफिकल यूजर इंटरफेस बंद हो जाता है यानी टॉप मेनू टॉप बार में आइकन और सर्च विंडो + Space। यही कारण है कि आपको इन अनुक्रमित, जैसे अल्फ्रेड तक पहुंचने के लिए एक और एप्लिकेशन की आवश्यकता है ।

तो निम्नलिखित आदेश जो Searchनिष्पादन योग्य नहीं बनाने की अनुमति को बदलता है ।

sudo chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search

जैसा कि कहा गया है कि यह स्पॉटलाइट को पूरी तरह से अक्षम नहीं करता है, यह केवल स्पॉटलाइट के ग्राफिकल यूजर इंटरफेस को हटा देता है।

लॉग आउट करना और पर्याप्त हो सकता है, अगर सिर्फ रिबूट न ​​हो।


आप इसे इस आदेश के साथ वापस ला सकते हैं

sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search

यहां पर आपको लॉग आउट या रीस्टार्ट करना होगा।

यह विधि अभी भी 10.10.3 के साथ काम कर रही है।


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


4
मैंने यह (योसेमाइट में) किया था, लेकिन अब मैं कीबोर्ड शॉर्टकट के साथ स्पॉटलाइट को भी ट्रिगर नहीं कर सकता! मैं पड़ा sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search& killall SystemUIServerवापस लौटने के लिए।
राहुल ठाकुर

@RahulThakur हाँ, यह उत्तर की बात है, अल्फ्रेड मुख्य खोज उपकरण बन जाता है , लेकिन यह स्पॉटलाइट इंडेक्स का उपयोग करता है। अल्फ्रेड के साथ इसके अलावा एक विकल्प के साथ शुरू होने की हैctrl+space
ब्राईस

1
ठीक है, लेकिन मैं केवल आइकन को हटाना चाहता हूं न कि कार्यक्षमता को। कोई बात नहीं धन्यवाद।
राहुल ठाकुर

ठीक। बारटेंडर शायद सबसे अच्छा विकल्प है। लेकिन आप निश्चित रूप से अल्फ्रेड को एक कोशिश देना चाहते हैं। विशेष रूप से जानकारी के बारे में Apple स्पॉटलाइट का उपयोग करते समय लीक हो रहा है।
ब्राइस

बस इसमें चीमिंग करना मेरे लिए पूरी तरह से स्पॉटलाइट को मार दिया और sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Searchइसे ठीक करने के लिए उपयोग और रिबूट करना पड़ा ।
डिलन

4

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

http://matthewpalmer.net/vanilla/


2

डोजर बारटेंडर या वेनिला के विपरीत ऐसा करने के लिए एक और ऐप है जो पूरी तरह से स्वतंत्र है।

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