如何在“打开方式...”下修改应用程序列表?


42

我最近打开了一个音频文件,想要在编辑器而不是播放器中打开它。我右键单击它,徘徊在'打开方式......'上,并遇到了一个非常难看的列表。

支持的音频应用列表

我在过去看到过一个问题,即应用程序将旧版本卡在/Applications文件夹中并附加了版本号,但这不是这里的情况。尽管此列表中存在重复,/Applications但我的系统上找不到任何应用程序,也无法复制任何其他应用程序。

是什么导致此列表填充重复项,如何删除它们并确保只有最新(和功能)版本列表?


重建Launch Services数据库(该命令所做的)解决此问题。运行它时是否打印了任何错误消息?
斗牛士

Answers:


44

应用程序不必存在/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上的任何用户杀死它,您将不得不重新注册并重新登录,或者发出一个,以避免注销。


1
这将有助于复制,并且已经为我工作了好几次,所以+1。在第二部分问题中,您有什么可以帮助OP:如何编辑此列表?
Redandwhite

1
@Redandwhite实际上,他回答了我的问题到我的意思。通过编辑它,我真的意味着删除欺骗,lsregister将为我做。如果您想直接编辑它,请将其作为您自己的问题。最好的部分是,你将以这种方式为自己获得upvote代表:)。
杰森萨拉兹2012年

好吧,他回答了我的问题,但不幸的是,这并没有解决问题。运行答案中给出的命令后,列表保持不变。此评论中链接的图像显示我相信我的系统上只有一个Spotify应用程序包的副本,尽管列表中显示了数量。
杰森萨拉兹

2
我把它收回。这个过程似乎只花了一些时间来运行,但我在2分钟前看过“打开...”。清单再次清洁。好极了!
杰森萨拉兹2012年

好极了!很高兴它对你有效。我一直在挖掘,我没有想出更好的答案,所以我很高兴这个工作。
Daniel

7

一旦您在聚光灯下检查以确保您实际上没有备份驱动器或具有应用程序副本的其他卷(在这种情况下,Finder向您显示它知道的所有可以打开文件的应用程序),请尝试运行命令以重建启动服务数据库:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

然后注销,然后重新登录。这应该重建OS X的Launch Services数据库,删除所有重复的条目。


大!很高兴它对你有效。
daviesgeek

6

CleanOpenWith是我创建的用于清理Open With ...菜单的应用程序。

CleanOpenWith是开源的,免费的。该应用程序自动执行以下步骤

  1. 打开终端:Applications / Utilities / Terminal.app
  2. 输入以下命令:

    /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
    
  3. 等待该命令完成

  4. 如果没有错误,则继续执行最后一步,重新启动Finder
  5. 重新启动Finder不需要您重新启动Mac。只需在点击Dock中的Finder图标时按Control+ Option,选择重新启动就可以了!

1

我刚刚在一个相当干净,新的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

这是一个古老的话题,但我遇到了同样的问题。只需将外部驱动器的应用程序文件夹添加到聚光灯排除列表中:superuser.com/a/349054/82434
evan.bovie 2013年

@ emb1995由于App Store下载更新的错误,即使您只有一个驱动器,也会出现此问题。我没有一个很好的解释为什么Chrome和其他非MAS文件是重复的,所以一旦它开始破坏数据库中的东西并且损害蔓延,可能会有多个错误或讨厌的交互。
bmike

是啊。我知道这个bug,但看起来一切都按照预期的方式运行,对于像我们这样多人安装的人来说这很不方便。我可能会在lsregister某个时候查找数据库和其他相关代码,但也许这个问题在Mavericks中得到修复。我没有遇到GM或DP的问题。尚未安装公开发布。(奇怪......我在评论中不能提及你)
evan.bovie 2013年

0

我遇到了在外部驱动器上备份我的应用程序的问题。如果我将这些驱动器编入索引或从这些驱动程序启动应用程序,则它们会显示在列表中。


是的我连接了Timemachine备份磁盘。如何从菜单中排除那些旧的应用程序?
伊万诺夫

2
@CDK,这听起来更像是评论而不是答案。
HairOfTheDog 2013年

0

我知道这是一个老线程,但对我来说,清除它的原因是“强制退出”然后重新启动Finder。

在3天的iMac上发生问题完全是最新的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.