我最近打开了一个音频文件,想要在编辑器而不是播放器中打开它。我右键单击它,徘徊在'打开方式......'上,并遇到了一个非常难看的列表。
我在过去看到过一个问题,即应用程序将旧版本卡在/Applications
文件夹中并附加了版本号,但这不是这里的情况。尽管此列表中存在重复,/Applications
但我的系统上找不到任何应用程序,也无法复制任何其他应用程序。
是什么导致此列表填充重复项,如何删除它们并确保只有最新(和功能)版本列表?
我最近打开了一个音频文件,想要在编辑器而不是播放器中打开它。我右键单击它,徘徊在'打开方式......'上,并遇到了一个非常难看的列表。
我在过去看到过一个问题,即应用程序将旧版本卡在/Applications
文件夹中并附加了版本号,但这不是这里的情况。尽管此列表中存在重复,/Applications
但我的系统上找不到任何应用程序,也无法复制任何其他应用程序。
是什么导致此列表填充重复项,如何删除它们并确保只有最新(和功能)版本列表?
Answers:
应用程序不必存在/Applications
。如果您安装了系统的克隆,那可以解决一些重复,但肯定不是您正在观察的内容。Open with ...的程序列表在Launch Services数据库中维护。如果列表包含许多重复项,则数据库看起来需要重建。
Macworld Hints提供了一个关于如何解决这个问题的建议:
lsregister
找到的命令System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister
可以告诉数据库重置。Macworld建议这样运行命令:/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
请注意,Onyx或Cocktail 等实用程序也可以为您重置此数据库。请注意,Finder不会重新读取新数据库,因此killall Finder
如果您不介意只是为了Mac上的任何用户杀死它,您将不得不重新注册并重新登录,或者发出一个,以避免注销。
一旦您在聚光灯下检查以确保您实际上没有备份驱动器或具有应用程序副本的其他卷(在这种情况下,Finder向您显示它知道的所有可以打开文件的应用程序),请尝试运行命令以重建启动服务数据库:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
然后注销,然后重新登录。这应该重建OS X的Launch Services数据库,删除所有重复的条目。
CleanOpenWith是我创建的用于清理Open With ...菜单的应用程序。
CleanOpenWith是开源的,免费的。该应用程序自动执行以下步骤:
输入以下命令:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
等待该命令完成
我刚刚在一个相当干净,新的Mountain Lion安装上咬了我一下,我有几个版本的应用程序,我想我有一个可行的想法,重复是如何在我的情况下出现的。
我在翻盖模式下运行Air,并且可能在睡眠时将其拉出来,并且启动服务数据库没有清理安装在连接到我的影院显示器的外部驱动器上的应用程序。
我有一个3 TB的驱动器,带有几个可启动的Lion和Mountain Lion安装,它们完全对应我预计要注册打开jpeg文件的系统和第三方应用程序的数量:
就像其他答案一样 - 强迫lsregister杀死数据库并踢掉Finder在不到20秒的时间里修补我
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain user -domain local -domain system
killall Finder
lsregister
某个时候查找数据库和其他相关代码,但也许这个问题在Mavericks中得到修复。我没有遇到GM或DP的问题。尚未安装公开发布。(奇怪......我在评论中不能提及你)
我遇到了在外部驱动器上备份我的应用程序的问题。如果我将这些驱动器编入索引或从这些驱动程序启动应用程序,则它们会显示在列表中。