默认情况下,虽然OS X中的大多数文件都配置为使用特定的应用程序打开,但用户可以选择使用便捷的“打开方式”菜单,该菜单可通过右键单击(或按住Control单击)文件来找到。 这使用户可以保留用于查看大多数文件的默认应用程序,但在需要时仍可以快速访问另一个兼容的应用程序。 一个很好的例子是将OS X设置为默认情况下使用“预览”打开图像文件,但使用“打开方式”菜单通过Photoshop打开图像以执行编辑任务。
但是,“打开方式”菜单有时可能会失控。 随着时间的推移升级其应用程序的用户可能会在列表中找到引用的旧版本,而将其OS X安装迁移到新驱动器的用户可能会看到重复的条目。
当我们将 TekRevue 生产的Mac从iMac迁移到Mac Pro时,发生了类似的情况。 我们通过将iMac的驱动器克隆到Mac Pro的驱动器来迁移数据,除了在“打开方式”菜单中所有应用程序都有重复的条目外,其他方法都运行良好。
要解决此问题,我们需要重置OS X的LaunchServices数据库。 与OS X中的大多数操作一样,有多种方法可以完成此任务,但是最快的方法是简单地使用Terminal命令。
我们的测试系统正在运行OS X Mavericks 10.9.1,但这些说明也适用于OS X Lion和OS X Mountain Lion。 首先,请关闭所有打开的应用程序,然后从Macintosh HD> Applications> Utilities启动终端 。 将以下命令复制并粘贴到终端提示下,然后按Return键执行该命令:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain本地-domain系统-domain用户
在处理命令时,终端会停滞一会儿。 完成后,您会看到一个新的提示出现在窗口中。 现在,您可以关闭终端并返回桌面。 使用“打开方式”菜单找到您需要访问的文件,现在您将看到列表已清理,重复和过时的条目都消失了。
请注意,我们不必重新启动Mac即可查看命令的结果,但是如果您没有看到终端的更改,请尝试重新启动,然后再采用其他方法。
重建LaunchServices的替代方法
上面描述的Terminal方法很简单,甚至可能不需要重新启动,但是如果您愿意的话,还有另外两种方法可以重建LaunchServices。 第一种是使用名为OnyX的应用程序,该应用程序可以执行和自动执行许多OS X维护任务。 启动OnyX后,您会在维护>重建中找到列出的LaunchServices。 只需选中LaunchServices框,然后按执行即可重建它。
另一个选项是手动删除LaunchServices首选项文件。 退出所有打开的应用程序,然后导航到〜/ Library / Preferences 。 找到com.apple.LaunchServices.plist ,删除文件,然后重新启动Mac。 与上面使用OnyX或Terminal命令的效果相同。