Mengapa "Buka Dengan" menampilkan begitu banyak contoh aplikasi? [duplikat]

17

Ketika saya memilih file dan klik kanan padanya untuk menggunakan opsi "Buka Dengan" Saya melihat daftar aplikasi yang paling mungkin untuk membuka file itu, tetapi dalam kasus saya, menjalankan 10.9.5, saya melihat tiga dan kadang-kadang empat contoh dari setiap aplikasi yang disarankan untuk membuka file tertentu - lihat tangkapan layar terlampir. Kenapa ini? Apakah ada cara untuk mengurangi itu menjadi satu instance per aplikasi? Jika ya, bagaimana caranya?

masukkan deskripsi gambar di sini

fmz
sumber
Mike, saya mengagumi ketekunan Anda dalam memantau, namun, pertanyaan saya jauh lebih jelas daripada duplikat yang dituduhkan. Jumlah pandangan adalah kesaksian keabsahannya. Berdasarkan judul saja Anda tidak akan pernah tahu itu bahkan subjek yang sama.
fmz
Kami menutup pertanyaan setiap saat ketika mereka menyatakan kembali masalah dan menunjuk ke satu tempat untuk semua jawaban. Seandainya pertanyaan Anda bukan ungkapan yang baik dan jelas dari masalah ini, saya akan menghapusnya sepenuhnya setelah menautkannya. Jangan ragu untuk mengeditnya atau tanyakan pada meta apakah Anda dapat membantu kami menunjukkan jawaban kanonik yang lebih baik tentang cara memperbaiki layanan peluncuran. Ini adalah sesuatu yang sudah ada sejak lama dan saya tidak melihatnya berubah dalam waktu dekat.
bmike
Dan, seperti biasa - ajukan pertanyaan pada Ask Different Meta jika Anda tidak yakin mengapa sesuatu dimoderasi atau ingin memiliki hasil yang berbeda dari situasi saat ini. Lebih banyak mata pada utas sering membantu semua orang - termasuk saya. Terima kasih untuk umpan baliknya.
bmike

Jawaban:

15

Rebuild LaunchServices untuk Memperbaiki Duplikat Entri di Menu 'Open With' OS X

Untuk memperbaiki ini, kita perlu mengatur ulang basis data LaunchServices OS X. Seperti halnya dengan sebagian besar tindakan dalam OS X, ada beberapa cara untuk menyelesaikan tugas ini, tetapi cara tercepat adalah dengan hanya menggunakan perintah Terminal.

Dari artikel itu - Salin berikut ke Terminal Anda

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
Ruskes
sumber
Apakah solusi Anda setara dengan grgarside. Terminal-fu saya tidak cukup baik untuk menguraikannya secara akurat, tetapi sepertinya mereka harus serupa.
Tetsujin
1
@Tujujin Mereka setara. Penggumpalan di bekas memperluas ke jalur terakhir.
GRG
7

Ini adalah bug yang sudah lama ada di OS X. Anda dapat memperbaikinya dengan lsregister:

/Sy*/L*/Fr*/CoreS*/F*/L*/S*/lsregister -kill -r -domain local -domain system -domain user
GRG
sumber
1
Apakah Anda begitu baik dan memberikan beberapa referensi, Anda tahu hanya prosedur standar untuk kita semua.
Ruskes
1
@Buscar Saya tidak punya kutipan khusus — itu salah satu perintah yang saya miliki di salah satu daftar referensi saya.
GRG
2
Heh, sepertinya sesuatu yang langsung dari Code Golf ;)
Doorknob
4

Selain jawaban lain, itu dapat menunjukkan beberapa salinan yang ada di hard drive lain atau salinan cadangan. Hard drive eksternal yang Anda gunakan untuk cadangan Time Machine dapat muncul sebagai opsi jika Aplikasi Anda dicadangkan ke drive itu.

Jika Anda penasaran dari mana aplikasi berasal, buka salah satu aplikasi lain. Kemudian dari Dock, kontrol + klik pada ikon aplikasi dan pilih: Opsi> "Show in Finder". Ini akan menunjukkan di mana aplikasi itu berada.

Gunakan baris perintah yang disediakan oleh Buscar 웃 untuk memperbarui LaunchServices sistem Anda.

bantuan pikiran
sumber
2

Untuk memperluas jawaban yang diberikan oleh grgarside dan Buscar, Anda bisa membuatnya sedikit lebih menyakitkan dengan mendefinisikan alias di skrip .bashrc Anda. Untuk melakukan itu, buka Terminal.app dan dengan Anda editor teks favorit (vi, nano, emacs jika Anda cenderung) edit .bashrcuntuk menambahkan baris berikut di bagian paling akhir:

alias rmdup="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain user; killall Finder"

Perhatikan, bahwa rmdupitu hanyalah nama alias yang saya pilih untuk dengan mudah mengingat perintah nanti (itu dimaksudkan untuk memperluas ke 'menghapus duplikat'). Anda dapat memilih nama alias lain yang Anda suka, berhati-hatilah agar Anda tidak menggunakan nama yang sudah digunakan untuk perintah lain.

Setelah mengubah .bashrc Anda, ketika Anda melihat duplikat aplikasi lagi, Anda bisa membuka Terminal.app dan mengetik rmdupatau nama lain yang Anda pilih, alih-alih jalur lengkap ke lsregisterperintah dengan semua argumennya, dll.

mikrofon
sumber