从菜单栏中删除 Spotlight 图标

cus*_*t0s 28 mac osx-snow-leopard macos

如何从 Mac OS X 菜单栏中删除 Spotlight 图标?

聚光灯图标

请注意,我不想禁用 Spotlight(我使用它)。我只想删除图标。

The*_*cle 29

好的,刚刚在 SL 中测试了它并且它有效,图标被删除但聚光灯仍在 Finder 中工作:

$ cd /System/Library/CoreServices/
$ sudo mv Search.bundle/ Search2.bundle/
Run Code Online (Sandbox Code Playgroud)

现在重新启动 SystemUIServer,图标不见了,Spotlight 仍然有效。要恢复 Spotlight 图标:

$ sudo mv Search2.bundle/ Search.bundle/
Run Code Online (Sandbox Code Playgroud)

并再次重新启动 SystemUIServer ...


小智 11

怎么做:

sudo chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search
Run Code Online (Sandbox Code Playgroud)

通过这种方式,搜索二进制文件对于 root 仍然是可读/可写的,因此可以通过 SoftwareUpdate 进行更新。使其对其他用户不可读将阻止它被启动!


小智 7

Snow Leopard 和 Leopard 处理 Spotlight 菜单的方式非常不同。在 Leopard 下,Spotlight 菜单本身就是一个应用程序。该应用程序由launchd 启动。因此,可以通过修改适当的 launchd 配置文件轻松禁用该菜单。

Snow Leopard 似乎崇尚 Tiger 运行 Spotlight 菜单的方式。菜单本身位于 /System/Library/CoreServices/Search.bundle 中。它由 SystemUIServer.app 自动加载,它也是菜单附加功能的宿主。

虽然有偏好文件允许我们禁用菜单附加功能,但我似乎找不到任何方法来禁用 Search.bundle

之前建议的重命名 Search.bundle 选项确实有效,但风险很高。未来的系统更新可能会尝试更新 Search.bundle 并最终得到部分捆绑文件。因此 SystemUIServer 将在尝试加载该包时崩溃。为了安全起见,需要在每次更新之前恢复捆绑包。几乎不是理想的解决方案。

此外,重命名 Search.bundle 或删除读取权限会影响机器上的所有用户。在 Leopard 下可用的每用户首选项会更可取。