如何在Finder.app中删除重复的“打开方式”上下文菜单项?


50

无论出于何种原因,Finder中的“打开方式”上下文菜单始终将每个应用程序列出四次(准确)。

Finder.app中重复的“打开方式”选项

我已经读过(并尝试过)重建启动服务数据库以将上下文菜单还原到其初始状态,但是似乎没有任何效果。我也使用Onyx.app清除用户和系统缓存,但是在“打开方式”服务下,每个应用程序仍然有四个重复。我已重新启动系统几次,以确保它不是列表的某些临时损坏。

我在装有新版OS X的2011年17英寸MacBook Pro上运行OS X 10.6.6(即,我没有使用Migration Assistant.app或Time Machine备份)。但是,我确实同步了所有首选项。以及像往常一样使用MobileMe的其他文件,因此我认为某处的首选项文件引起问题是可行的吗?我没有注意到这是在我的MobileMe同步之前还是之后发生的。

如何解决此问题,以便显示一个应用程序?


您是否还连接了其他任何驱动器(外部)?像时间机器,克隆之类的东西?
Martin Marconcini

好吧,当我在工作时,确实有一个Time Machine处于活动状态,但是当我发布此消息时,除了已同步的iDisk之外,我没有连接任何其他驱动器。

1
确实很奇怪,能否请您快速创建另一个用户,登录并查看新用户是否表现出相同的行为?
Martin Marconcini

@MartínMarconcini是的,我已经验证了创建一个全新的用户帐户仍然表现出相同的行为。

Answers:


23

由于此问题发生在系统级别,因此我不确定这些步骤是否会有所不同。

我认为,正如您所说的,您已经重建了LaunchDatabase。以防万一:

y玛瑙

您可以尝试上述版本的命令行版本(在终端中):

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

此外,默认应用程序是一个不错的免费系统偏好设置窗格,用于控制默认应用程序(基于扩展名,类型等)。您几乎可以从那里看到并关联所有内容。它至少应该给您一个提示,是问题出在关联中还是发现者在做一些时髦的事情。

什么时候开始发生?您安装了什么吗?我看到您有Xcode 4,是从App Store获得的还是从开发人员资料中直接下载得到的?这是以前发生的吗?这是针对每种文件类型还是仅针对某些特定文件?


是的,我确实尝试过多次运行该命令。它似乎没有任何作用。我还查看了默认应用程序。真的没有什么与众不同的。在不到一周前获得MacBook Pro之后,这种情况立即开始发生。我安装了典型的应用程序,但是没有主流应用程序(iWork,Photoshop等)。我从ADC而不是App Store获得Xcode 4。似乎每种文件类型都会发生这种情况。

@Lucas这是我必须调查的事情,尤其是因为它发生在不同的帐户上。让我回复您:)
Martin Marconcini

谢谢。:)请让我知道我还有什么可以提供的,如果您想找个地方,甚至在某些时候甚至可以进行屏幕共享/ SSH访问。

@Lucas是的,让我们希望更聪明的人能找到一些东西;)
Martin Marconcini

@Lucas屏幕共享将更能满足我的好奇心;)但是让我们继续调查几天。
Martin Marconcini

8

运行后lsregister(如https://apple.stackexchange.com/a/10615/24322中所述),重新启动查找程序。(为此,请执行Option +鼠标右键单击扩展坞中的Finder图标,然后选择“重新启动”。)


谢谢。我遇到了同样的问题,您的提示是使上述解决方案起作用的关键。
彼得·罗

您可以重新启动Finder的Mountain Lion,至少用ctrl + opt + click不能用鼠标找到它。我所做的只是关闭所有Finder窗口,然后单击Finder图标以重新启动。

7

为了更快,易于记忆的方式,你可以别名中所示的命令顶端回答lscleanup,像这样:

# Clean up LaunchServices to remove duplicates in the “Open With” menu.
alias lscleanup="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user && killall Finder"`

将其添加到您的.aliases文件(或打开“终端”时运行的任何其他文件)中,您将不必再次记住该复杂的命令。


5

我遇到了同样的问题,以为自己会聪明一点

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

在须藤下。

那没有解决问题。直到我以用户帐户特权运行它后,问题才得以解决。


2

这为我工作:

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

这是最低要求-无需额外的命令,鼠标单击,别名或第三方应用程序。我从其他答案中借用了它,但使它在少于80列中可读了!

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.