我最近去打開一個音頻文件,想在編輯器而不是播放器中打開它。我右鍵單擊它,將鼠標懸停在“打開方式...”上,然後看到一個非常難看的列表。
我過去遇到過一個問題,應用程序將在 / Applications
文件夾中保留以前的版本,並附加其版本號,但實際情況並非如此。儘管此列表中有重複項,但 / Applications
或我在系統上找不到的任何其他應用程序都沒有重複。
是什麼導致此列表中充滿重複項,以及如何我可以刪除它們並確保僅列出最新(和功能)版本嗎?
我最近去打開一個音頻文件,想在編輯器而不是播放器中打開它。我右鍵單擊它,將鼠標懸停在“打開方式...”上,然後看到一個非常難看的列表。
我過去遇到過一個問題,應用程序將在 / Applications
文件夾中保留以前的版本,並附加其版本號,但實際情況並非如此。儘管此列表中有重複項,但 / Applications
或我在系統上找不到的任何其他應用程序都沒有重複。
是什麼導致此列表中充滿重複項,以及如何我可以刪除它們並確保僅列出最新(和功能)版本嗎?
應用程序不必駐留在 / Applications
中。如果您安裝了系統的克隆,則可以解釋一些重複,但肯定不是您所觀察的。 打開方式... 的程序列表在啟動服務數據庫中維護。如果列表中包含許多重複項,則表明數據庫需要重建。
Macworld提示提供了有關如何解決此問題的建議:
在 System / Library / Frameworks / CoreServices.framework / Frameworks / LaunchServices.framework / Support / lsregister
中找到的 lsregister
命令可以告訴數據庫重置。 Macworld建議以這種方式運行命令: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain本地-domain system -domain用戶
請注意, Onyx或Cocktail之類的實用程序也可以為您重置此數據庫。請注意,Finder不會重新讀取新數據庫,因此,如果您不介意殺死自己的任何用戶,則要么必須註銷然後再次登錄,要么發出 killall Finder
Mac,以避免註銷和登錄。
一旦您在聚光燈下進行檢查,以確保您實際上沒有備份驅動器或其他具有重複應用程序副本的捲(在這種情況下,Finder將向您顯示它知道的所有可以打開文件的應用程序),請嘗試運行命令以重建啟動服務數據庫:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain系統-domain用戶
然後註銷,然後再次登錄。這應該重建OS X的Launch Services數據庫,刪除所有重複的條目。
CleanOpenWith是我創建的用於清理“打開方式...”菜單的應用程序。
CleanOpenWith是開源的,免費的。應用程序自動執行以下步驟:
鍵入以下命令:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain本地-域系統-域用戶
等待該命令完成
我只是在一個相當乾淨的Mountain Lion新安裝上咬了我一口,其中安裝了多個版本的應用程序,我認為我有一個可行的主意,如何在我的案例中出現重複數據。
我在翻蓋模式下運行此Air,並且可能在它處於睡眠狀態時將其拉出,並且啟動服務數據庫沒有為連接到與電影院顯示器相連的外部驅動器上安裝的應用程序清理。
我有一個3 TB驅動器,其中安裝了多個可啟動的Lion和Mountain Lion安裝,它們與我擁有的系統和第三方應用程序的數量完全對應,這些應用程序可能需要註冊才能打開jpeg文件:
就像其他答案一樣-迫使lsregister殺死數據庫並踢Finder在不到20秒的時間內修補了我
/System/Library/Frameworks/CoreServices.framework/版本/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r-域用戶-域本地-域systemkillall查找器
我遇到了在外部驅動器上備份我的應用程序的問題。如果我將這些驅動器編入索引或從這些驅動器啟動了應用程序,則它們會顯示在列表中。