題:
如何在“打開方式...”下修改應用程序列表?
Jason Salaz
2012-09-16 16:29:33 UTC
view on stackexchange narkive permalink

我最近去打開一個音頻文件,想在編輯器而不是播放器中打開它。我右鍵單擊它,將鼠標懸停在“打開方式...”上,然後看到一個非常難看的列表。

List of Supported Audio Apps

我過去遇到過一個問題,應用程序將在 / Applications 文件夾中保留以前的版本,並附加其版本號,但實際情況並非如此。儘管此列表中有重複項,但 / Applications 或我在系統上找不到的任何其他應用程序都沒有重複。

是什麼導致此列表中充滿重複項,以及如何我可以刪除它們並確保僅列出最新(和功能)版本嗎?

重新構建Launch Services數據庫(該命令可以執行此操作)*應該*解決此問題。運行時是否打印了任何錯誤消息?
可能重複的[如何在Finder.app中刪除重複的“打開方式”上下文菜單項?](http://apple.stackexchange.com/questions/10523/how-do-i-remove-duplicate-open-with -上下文菜單項在查找器應用程序中)
六 答案:
Daniel
2012-09-16 17:02:35 UTC
view on stackexchange narkive permalink

應用程序不必駐留在 / 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,以避免註銷和登錄。

這將有助於重複,並且已經為我工作了好幾次,所以+1。您對問題的第二部分有什麼幫助OP的內容:如何編輯此列表?
@Redandwhite實際上,他以我的意思回答了我的問題。通過編輯它,我確實的確意味著只刪除了重複對象,而lsregister將為我做到這一點。如果您想直接對其進行編輯,請[根據自己的問題進行提問](http://apple.stackexchange.com/questions/ask)。最好的部分是,您將通過這種方式自己獲得upvote代表:)。
好吧,他回答了我的問題,但不幸的是[無法解決問題](http://i.stack.imgur.com/XFtxE.png)。運行答案中給出的命令後,該列表保持不變。該註釋中鏈接的圖像表明,我非常有信心,儘管列表中顯示了數量,但我的系統上只有Spotify應用程序捆綁包的一個副本。
我把它收回。該過程似乎只花了一些時間,但是我沒有在2分鐘前查看“打開方式...”。該列表再次乾淨。好極了!
好極了!很高興它對你有效。我一直在挖掘,但還沒有找到一個更好的答案,因此,我很高興這一工作奏效。
我創建了一個應用程序來清理打開菜單。您可以在[此處] [1]下載該應用,並在[此處] [2]中找到有關此情況和基礎流程的更多信息。希望這會有所幫助。 [1]:https://github.com/spaquet/CleanOpenWith/releases [2]:http://idoitonamac.blogspot.com/2014/03/keeping-open-with-menu-clean-on-os-x .html
這似乎破壞了我的OSX UX體驗。現在,一半時間我選擇“打開方式”時,我都會得到“正在抓取...”的信息,並且需要20到30秒的時間才能顯示任何內容。在過去的5年中,我從未見過使用Mac。我如何使其穩定?
您是否碰巧知道一種以特定順序重新排列列表,或從列表中添加或刪除某些應用程序的方法?
`/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain本地-域系統-domain用戶'在Catalina上似乎不起作用。難道是因為現在已將LSHandlers寫入默認值,所以寫入com.apple.LaunchServices / com.apple.launchservices.secure`?如果是這樣,對LSHandlers所做的更改在不重新啟動的情況下生效的新命令是什麼?
daviesgeek
2012-09-20 11:07:30 UTC
view on stackexchange narkive permalink

一旦您在聚光燈下進行檢查,以確保您實際上沒有備份驅動器或其他具有重複應用程序副本的捲(在這種情況下,Finder將向您顯示它知道的所有可以打開文件的應用程序),請嘗試運行命令以重建啟動服務數據庫:

  /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain系統-domain用戶 

然後註銷,然後再次登錄。這應該重建OS X的Launch Services數據庫,刪除所有重複的條目。

Stephane Paquet
2014-04-30 10:51:43 UTC
view on stackexchange narkive permalink

CleanOpenWith是我創建的用於清理“打開方式...”菜單的應用程序。

CleanOpenWith是開源的,免費的。應用程序自動執行以下步驟

  1. 打開終端:應用程序/實用程序/Terminal.app
  2. 鍵入以下命令:

      /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain本地-域系統-域用戶 
  3. 等待該命令完成

  4. 如果沒有錯誤,請繼續執行最後一個步驟,重新啟動Finder
  5. 重新啟動Finder不需要重新啟動Mac。只需單擊Dock中的Finder圖標,同時按 Control kbd> + Option kbd>,然後選擇Relaunch就可以了!
  6. ol>
bmike
2012-10-14 00:21:17 UTC
view on stackexchange narkive permalink

我只是在一個相當乾淨的Mountain Lion新安裝上咬了我一口,其中安裝了多個版本的應用程序,我認為我有一個可行的主意,如何在我的案例中出現重複數據。

我在翻蓋模式下運行此Air,並且可能在它處於睡眠狀態時將其拉出,並且啟動服務數據庫沒有為連接到與電影院顯示器相連的外部驅動器上安裝的應用程序清理。

我有一個3 TB驅動器,其中安裝了多個可啟動的Lion和Mountain Lion安裝,它們與我擁有的系統和第三方應用程序的數量完全對應,這些應用程序可能需要註冊才能打開jpeg文件:

Open with...

就像其他答案一樣-迫使lsregister殺死數據庫並踢Finder在不到20秒的時間內修補了我

  /System/Library/Frameworks/CoreServices.framework/版本/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r-域用戶-域本地-域systemkillall查找器 
這是一個古老的話題,但是我遇到了同樣的問題。只需將外部驅動器的應用程序文件夾添加到關注的排除列表中:http://superuser.com/a/349054/82434
@emb1995即使由於應用商店下載更新的錯誤而只有一個驅動器,也會發生此問題。我沒有很好的解釋為什麼會重複複製Chrome和其他非MAS文件,所以一旦它開始破壞數據庫中的內容並造成破壞蔓延,也許會有多個錯誤或令人討厭的交互作用。
是的我知道該錯誤,但看起來一切都按預期工作,這對像我們這樣的人進行多次安裝很不方便。我可能有時會去找“ lsregister”來查找數據庫和其他相關代碼,但是這個問題可能在Mavericks中已解決。 GM或DP並沒有遇到這個問題。尚未安裝公共發行版。 (奇怪……我無法在評論中提及您)
Vesper
2016-04-07 02:50:48 UTC
view on stackexchange narkive permalink

為我解決的問題是轉到“強制退出”,然後重新啟動Finder。

問題發生在完全更新的3天舊iMac上。

CDK
2012-10-16 00:52:17 UTC
view on stackexchange narkive permalink

我遇到了在外部驅動器上備份我的應用程序的問題。如果我將這些驅動器編入索引或從這些驅動器啟動了應用程序,則它們會顯示在列表中。

是的,我連接了Time Machine備份磁盤。如何從菜單中排除那些舊的應用程序?
@CDK,聽起來更像是評論,而不是答案。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...