Bagaimana cara menyembunyikan ikon Spotlight di Yosemite, tetapi tetap menggunakan fungsionalitas Spotlight?

62

Saya menggunakan Spotlight di OS X, dan saya sudah lama tidak suka lampirannya ke menu bar.

Sekarang, di Yosemite, Spotlight muncul sebagai hamparan di tengah layar ketika dipanggil, sama seperti utilitas peluncur lainnya seperti Quicksilver atau Alfred. Tetapi ikon Spotlight masih tertahan di menubar saya, meskipun mengkliknya sekarang menunjukkan hamparan yang sepenuhnya terpisah.

Cara tradisional untuk menonaktifkan ikon pencarian ( chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search) juga menonaktifkan Spotlight sepenuhnya. Saya ingin menjaga fungsionalitas Spotlight, tetapi membunuh ikon menubar (sekarang tidak berguna), karena saya dapat memanggil Spotlight dengan Cmd + Space.

Saya juga sudah mencoba Bartender, yang berfungsi tetapi harganya mahal ($ 15 untuk menghapus ikon!) Dan unik (perlu beberapa saat untuk memulai, sehingga bilah menu saya akhirnya bergeser sekitar satu menit setelah masuk)

Apa cara terbaik untuk menghapus ikon Spotlight?

nneonneo
sumber
Belum diuji dan sepertinya itu bisa sedikit ketinggalan jaman, tetapi pertanyaannya sama dan jawabannya ditandai dan diterima. superuser.com/a/32802/375410
jherran
1
@ jherran: Sayangnya, itu tidak menyelesaikan masalah. Saya masih ingin dapat menggunakan Cmd + Space untuk meluncurkan overlay Spotlight.
nneonneo

Jawaban:

36

Jadi saya muak dengan ini dan memutuskan untuk memperbaikinya dengan cara yang sulit.

Saya menemukan di mana Spotlight menginisialisasi item status bar, dan saya hanya menambal ukuran status bar menjadi nol. Ini membutuhkan pengeditan biner Spotlight . (Perhatikan bahwa Search.bundleitu hanya rintisan kecil yang dimuat ke SystemUIServeruntuk memungkinkan Spotlight.appuntuk mengontrol bilah status).

Anda harus menggunakan Terminal untuk menjalankan beberapa perintah.

Untuk 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

Untuk 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

The cmp -lline harus mencetak sesuatu seperti berikut:

248855   0 102
248856   0 100

Jika tidak mencetak apa-apa, maka tambalan gagal. Saya telah menguji ini pada OS X 10.10.3 (Yosemite) dan OS X 10.11.5 (El Capitan; SIP off).

Apa yang dilakukan tambalan ini adalah mengganti nilai lebar bilah status (36.0, atau 0000000000004240 dengan hex-point mengambang) dengan nol, sehingga ketika item bilah status dimuat, ia hanya merender dengan lebar nol, yaitu tidak terlihat dan tidak dapat memengaruhi tata letak bilah.

Tangkapan layar sebelum melakukan peretasan ini:

sebelum retas

Tangkapan layar setelah melakukan peretasan ini:

setelah retas

Ikon menu hilang tetapi Cmd + Space terus bekerja.


Untuk kembali, lakukan hal berikut:

cd /System/Library/CoreServices/Spotlight.app/Contents/MacOS
sudo mv Spotlight.bak Spotlight
sudo killall Spotlight
nneonneo
sumber
Ini terlihat sangat luar biasa, tetapi bagi yang kurang melek huruf di antara kita, dapatkah Anda menambahkan instruksi tentang cara kembali ke keadaan normal jika kita memang cenderung demikian?
user24601
3
Menambahkan instruksi itu.
nneonneo
1
Setelah sorotan ini tidak mulai lagi. $ codesign -f -s - Spotlight Spotlight: replacing existing signature Spotlight: bundle format unrecognized, invalid, or unsuitable
Rnhmjoj
1
Spotlight: mengganti tanda tangan Spotlight yang ada: format bundel tidak dikenali, tidak valid, atau tidak cocok Dalam subkomponen: /System/Library/CoreServices/Spotlight.app/Contents/XPCServices/com.apple.metad.metadata.SpotlightNetHelper.xpc
Jarno
2
Masih berlaku untuk Sierra, meskipun saya harus menonaktifkan Perlindungan Integritas Sistem untuk sementara waktu ( stackoverflow.com/a/32661637/1252653 ) untuk memberi saya hak untuk menduplikasi Spotlight yang dapat dieksekusi.
tinystride
16

Saya akan merekomendasikan menggunakan aplikasi utilitas bernama Bartender. http://www.macbartender.com

Ini adalah utilitas praktis untuk mengelola dan mengubah cara ikon bilah menu ditampilkan. Anda dapat meninggalkannya di bilah menu, memasukkannya ke bartender bar yang dibuka melalui ikon kecil di bilah menu, tetapi dapat menahan salah satu ikon secara normal di bilah menu, atau menyembunyikan ikon itu sama sekali.

Anda dapat melihat tangkapan layar di sini:

masukkan deskripsi gambar di sini

Ali Samii
sumber
6
Saya memang mengatakan saya tidak ingin menggunakan Bartender dalam pertanyaan saya, tetapi terima kasih atas penunjuknya.
nneonneo
5
Tidak berfungsi lagi dalam versi terbaru keduanya (OSX dan Bartender :-(
Strinder
2
Pembaruan: Berfungsi jika Anda menggunakan cara ini stackoverflow.com/questions/31640732/…
Strinder
Kompatibel dengan Sierra?
Daniel Springer
Bagaimana di dunia Bartender menyembunyikannya seperti itu ...
Daniel Springer
11

Saya akhirnya menghapus ikon dan fungsi Pencarian Spotlight dan sekarang saya menggunakan Alfred sebagai gantinya; lebih cepat dan gratis (dengan membayar ekstensi yang sebagian besar tidak Anda butuhkan).

Menghapus aplikasi Spotlight yang terlihat (dan ikon) layanan indeksasi tidak dihentikan, hanya antarmuka pengguna grafis dihentikan yaitu ikon di bilah menu atas dan jendela Pencarian ketika + Space. Inilah sebabnya mengapa Anda memerlukan aplikasi lain untuk mengakses indeks ini, seperti Alfred.

Jadi perintah berikut yang mengubah izin untuk membuat Searchtidak dapat dieksekusi

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

seperti yang dikatakan itu tidak sepenuhnya menonaktifkan sorotan, itu hanya menghilangkan antarmuka pengguna grafis Spotlight.

Keluar dan masuk mungkin cukup, jika tidak hanya reboot.


Anda dapat mengembalikannya dengan perintah ini

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

Di sini Anda harus keluar atau memulai kembali.

Metode ini masih bekerja dengan 10.10.3.


Metode ini mungkin tidak persis apa yang ditanyakan tetapi memiliki kemampuan untuk membatasi manipulasi. Hanya mengubah izin file jauh lebih mudah daripada mengubah biner suatu program. hanya untuk tidak menunjukkan ikon Spotlight biner Spotlight.

Brice
sumber
4
Saya melakukan ini (di Yosemite), tetapi sekarang saya tidak dapat memicu sorotan dengan pintasan keyboard juga! Saya harus sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search& killall SystemUIServermengembalikan kembali.
Rahul Thakur
@RahulThakur Ya itulah inti jawabannya, alfred menjadi alat pencarian utama , tetapi menggunakan indeks sorotan. Juga dengan Alfred, ada opsi untuk diluncurkanctrl+space
Brice
1
Oke, tapi saya hanya ingin menghapus ikon dan bukan fungsi. Bagaimanapun, terima kasih.
Rahul Thakur
BAIK. Bartender mungkin pilihan terbaik saat itu. Tapi Anda mungkin ingin mencoba mencoba alfred. Terutama mengenai informasi yang Apple bocor ketika menggunakan lampu sorot.
Brice
Hanya berdentang bahwa Spotlight ini sepenuhnya menewaskan saya dan harus menggunakan sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Searchdan reboot untuk memperbaikinya.
Dillon
4

Solusi sederhana dan lebih luas untuk masalah ini adalah menyembunyikan ikon di bilah menu dengan Vanilla , yang merupakan utilitas gratis yang dikembangkan oleh Matthew Palmer dan memiliki fungsi inti yang sama dengan Bartender, tetapi dalam paket yang lebih minimalis.

http://matthewpalmer.net/vanilla/

juil
sumber
2

Dozer adalah aplikasi lain yang harus dilakukan sehingga benar-benar gratis, tidak seperti Bartender atau Vanilla.

xji
sumber