Wie verstecke ich das Spotlight-Symbol in Yosemite, behalte aber die Spotlight-Funktionalität bei?

62

Ich verwende Spotlight in OS X und habe den Anhang zur Menüleiste schon lange nicht mehr gemocht.

In Yosemite wird Spotlight jetzt als Overlay in der Mitte des Bildschirms angezeigt, wenn es aufgerufen wird, ähnlich wie bei anderen Startprogrammen wie Quicksilver oder Alfred. Das Spotlight-Symbol bleibt jedoch in meiner Menüleiste hängen, auch wenn durch Klicken ein vollständig losgelöstes Overlay angezeigt wird.

Die herkömmliche Methode zum Deaktivieren des Suchsymbols ( chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search) deaktiviert Spotlight vollständig. Ich möchte die Spotlight-Funktionalität beibehalten, aber das (jetzt unbrauchbare) Menüleistensymbol deaktivieren, da ich Spotlight mit Cmd + Space aufrufen kann.

Ich habe auch Bartender ausprobiert, der funktioniert, aber sowohl teuer (15 US-Dollar zum Entfernen eines Symbols!) Als auch schrullig ist (es dauert eine Weile, bis der Startvorgang abgeschlossen ist, sodass sich meine Menüleiste nach dem Anmelden bis zu einer Minute hin und her bewegt).

Wie entferne ich das Spotlight-Symbol am besten?

nneonneo
quelle
Nicht getestet und scheint etwas veraltet zu sein, aber die Frage ist dieselbe und die Antwort ist markiert und akzeptiert. superuser.com/a/32802/375410
jherran
1
@jherran: Das löst das Problem leider nicht. Ich möchte weiterhin Cmd + Space verwenden können, um das Spotlight-Overlay zu starten.
Nneonneo

Antworten:

36

Also hatte ich die Nase voll und beschloss, es auf die harte Tour zu bringen.

Ich habe herausgefunden, wo Spotlight das Statusleistenelement initialisiert, und habe gerade die Größe der Statusleiste auf Null geändert. Dazu muss die Spotlight-Binärdatei bearbeitet werden . (Beachten Sie, dass dies Search.bundlenur der kleine Stub ist, in den geladen wird SystemUIServer, um Spotlight.appdie Statusleiste zu steuern.)

Sie müssen das Terminal verwenden, um einige Befehle auszuführen.

Für 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

Für 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

Die cmp -lZeile sollte ungefähr so ​​aussehen:

248855   0 102
248856   0 100

Wenn nichts ausgedruckt wird, ist der Patch fehlgeschlagen. Ich habe dies unter OS X 10.10.3 (Yosemite) und OS X 10.11.5 (El Capitan; SIP aus) getestet.

Dieser Patch ersetzt den Wert für die Breite der Statusleiste (36.0 oder 0000000000004240 in Fließkomma-Hex) durch Null. Wenn das Statusleistenelement geladen wird, wird es einfach mit einer Breite von Null gerendert, dh es ist unsichtbar und nicht sichtbar hat keinen Einfluss auf das Layout der Leiste.

Screenshot vor diesem Hack:

vor dem Hack

Screenshot nach diesem Hack:

nach dem Hack

Das Menüsymbol ist nicht mehr vorhanden, Cmd + Space funktioniert jedoch weiterhin.


Führen Sie zum Zurücksetzen die folgenden Schritte aus:

cd /System/Library/CoreServices/Spotlight.app/Contents/MacOS
sudo mv Spotlight.bak Spotlight
sudo killall Spotlight
nneonneo
quelle
Das sieht wirklich großartig aus, aber für die weniger Terminal-Literaten unter uns, können Sie bitte Anweisungen hinzufügen, wie Sie zur Normalität zurückkehren können, wenn wir jemals so geneigt sind?
user24601
3
Diese Anweisungen wurden hinzugefügt.
Nneonneo
1
Nach diesem Spotlight startet nicht mehr. $ codesign -f -s - Spotlight Spotlight: replacing existing signature Spotlight: bundle format unrecognized, invalid, or unsuitable
Rnhmjoj,
1
Spotlight: Ersatz bestehende Unterschrift Spotlight: bundle Format nicht erkannt, ungültig oder ungeeignet In Subkomponente: /System/Library/CoreServices/Spotlight.app/Contents/XPCServices/com.apple.metadata.SpotlightNetHelper.xpc
Jarno
2
Immer noch gültig für Sierra, obwohl ich den Systemintegritätsschutz ( stackoverflow.com/a/32661637/1252653 ) vorübergehend deaktivieren musste, um Rechte zum Duplizieren der ausführbaren Spotlight-Datei zu erhalten.
Tinystride
16

Ich würde empfehlen, die Utility-App namens Bartender zu verwenden. http://www.macbartender.com

Dies ist ein praktisches Hilfsprogramm zum Verwalten und Ändern der Anzeige von Symbolen in der Menüleiste. Sie können sie in der Menüleiste belassen, über ein kleines Symbol in Ihrer Menüleiste in der Barkeeper-Leiste öffnen lassen, aber jedes der Symbole, die normalerweise in der Menüleiste angezeigt werden, beibehalten oder das Symbol ganz ausblenden.

Hier können Sie einen Screenshot sehen:

Bildbeschreibung hier eingeben

Ali Samii
quelle
6
Ich habe gesagt, dass ich Bartender in meiner Frage nicht verwenden möchte, aber trotzdem danke für den Hinweis.
Nneonneo
5
Funktioniert nicht mehr in der neuesten Version von OSX und Bartender :-(
Strinder 22.07.16
2
Update: Funktioniert auf diese Weise stackoverflow.com/questions/31640732/…
Strinder
Kompatibel mit Sierra?
Daniel Springer
Wie um alles in der Welt versteckt Barkeeper es so ...
Daniel Springer
11

Schließlich habe ich das Symbol und die Spotlight-Suchfunktion entfernt und verwende jetzt stattdessen Alfred . Es ist schneller und kostenlos (mit kostenpflichtiger Erweiterung, die Sie meistens nicht benötigen).

Durch Entfernen der sichtbaren Spotlight-Anwendung (und des Symbols) werden die Indexierungsdienste nicht gestoppt, sondern nur die grafische Benutzeroberfläche, dh sowohl das Symbol in der oberen Menüleiste als auch das Suchfenster, wenn + Space. Aus diesem Grund benötigen Sie eine andere Anwendung, um auf diese Indizes zuzugreifen, z. B. Alfred.

Also der folgende Befehl, der die Berechtigung ändert, Searchnicht ausführbar zu machen .

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

Wie bereits erwähnt, wird Spotlight nicht vollständig deaktiviert, sondern nur die grafische Benutzeroberfläche von Spotlight entfernt.

Das Abmelden und Anmelden kann ausreichend sein, wenn nicht nur ein Neustart durchgeführt wird.


Sie können es mit diesem Befehl wiederherstellen

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

Gleich hier muss man sich abmelden oder neu starten.

Diese Methode funktioniert noch mit 10.10.3.


Diese Methode ist wahrscheinlich nicht genau das, was die Frage gestellt hat, aber sie hat den Vorteil, die Manipulationsfehler zu begrenzen. Das Ändern der Dateiberechtigungen ist viel einfacher als das Ändern der Binärdatei eines Programms. um nur das Spotlight-Symbol nicht als Binärdatei von Spotlight anzuzeigen.

Brice
quelle
4
Ich habe dies getan (in Yosemite), aber jetzt kann ich mit der Tastenkombination auch kein Scheinwerferlicht mehr auslösen! Ich musste sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search& killall SystemUIServerzurückkehren.
Rahul Thakur
@RahulThakur Ja , das ist der Punkt , der Antwort, alfred das Haupt wird Suchwerkzeug, aber es nutzt Spotlight indiziert. Auch bei Alfred gibt es eine Option gestartet wird mitctrl+space
Brice
1
Okay, aber ich möchte nur das Symbol und nicht die Funktionalität entfernen. Trotzdem danke.
Rahul Thakur
OKAY. Barkeeper vielleicht die beste Option. Vielleicht möchten Sie es aber auch mal mit Alfred versuchen. Vor allem in Bezug auf die Informationen, die Apple bei der Verwendung von Scheinwerfern verliert.
Brice
Ich stimme nur zu, dass dies Spotlight komplett für mich tötete und ich musste es verwenden sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Searchund neu starten, um es zu beheben.
Dillon
4

Eine einfache und umfassendere Lösung für dieses Problem ist das Ausblenden von Symbolen in der Menüleiste mit Vanilla , einem kostenlosen Dienstprogramm, das von Matthew Palmer entwickelt wurde und die gleiche Kernfunktionalität aufweist wie Bartender, jedoch in einem minimalistischeren Paket.

http://matthewpalmer.net/vanilla/

juil
quelle
2

Dozer ist eine weitere App, die im Gegensatz zu Bartender oder Vanilla völlig kostenlos ist.

xji
quelle