ฉันจะแก้ไขรายการแอปพลิเคชันภายใต้ 'เปิดด้วย ... ' ได้อย่างไร


41

ฉันเพิ่งไปเปิดไฟล์เสียงและต้องการเปิดในโปรแกรมแก้ไขแทนที่จะเป็นเครื่องเล่น ฉันคลิกขวามันโฮเวอร์เหนือ 'เปิดด้วย ... ' และพบกับรายการที่ไม่น่าดูมาก

รายการแอพเสียงที่รองรับ

ฉันเคยเห็นปัญหาในอดีตที่ซึ่งแอพจะมีเวอร์ชันก่อนหน้าติดอยู่ใน/Applicationsโฟลเดอร์โดยมีหมายเลขรุ่นต่อท้าย แต่ไม่ใช่ในกรณีนี้ แม้จะมีความซ้ำซ้อนในรายการนี้ไม่มีแอพพลิเคชั่นที่ซ้ำกัน/Applicationsหรือที่อื่น ๆ ที่ฉันสามารถหาได้ในระบบของฉัน

อะไรทำให้รายการนี้เต็มไปด้วยรายการที่ซ้ำกันและฉันจะลบออกได้อย่างไรและให้แน่ใจว่ามีเฉพาะรายการรุ่นล่าสุด (และการทำงาน) เท่านั้น?


การสร้างฐานข้อมูล Launch Services ขึ้นใหม่ (ซึ่งคำสั่งนั้นทำ) ควรแก้ไขปัญหานี้ มีข้อความข้อผิดพลาดใด ๆ ที่พิมพ์เมื่อคุณเรียกใช้หรือไม่
robmathers

คำตอบ:


45

/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

โปรดทราบว่ายูทิลิตี้เช่นนิลหรือค็อกเทลสามารถรีเซ็ตฐานข้อมูลนี้ให้คุณได้ โปรดทราบว่าตัวค้นหาจะไม่อ่านฐานข้อมูลใหม่ดังนั้นคุณจะต้องออกจากระบบและลงชื่อเข้าใช้อีกครั้งหรือออก a killall Finderถ้าคุณไม่รังเกียจเพียงฆ่าผู้ใช้บน Mac ของคุณเพื่อหลีกเลี่ยงการออกจากระบบ


1
วิธีนี้จะช่วยในเรื่องการทำสำเนาและทำงานให้ฉันหลายครั้งดังนั้น +1 คุณมีอะไรที่ช่วย OP ในส่วนที่สองของคำถาม: จะแก้ไขรายการนี้ได้อย่างไร?
Redandwhite

1
@ Red and White ที่จริงเขาตอบคำถามของฉันในระดับที่ฉันหมายถึงพวกเขา โดยการแก้ไขมันฉันหมายถึงเพียงแค่ลบบทกวีและ lsregister จะทำเพื่อฉัน หากคุณต้องการที่จะแก้ไขได้ทันทีถามว่ามันเป็นคำถามของคุณเอง ส่วนที่ดีที่สุดคือคุณจะได้รับตัวแทน upvote ด้วยตัวคุณเอง :)
Jason Salaz

เขาตอบคำถามของฉัน แต่น่าเสียดายที่ไม่สามารถแก้ปัญหาได้ รายการยังคงเหมือนเดิมหลังจากรันคำสั่งที่กำหนดในคำตอบ รูปภาพที่เชื่อมโยงในความคิดเห็นนี้แสดงให้เห็นว่าฉันค่อนข้างมั่นใจว่ามีสำเนาแอป Spotify เพียงชุดเดียวในระบบของฉันแม้ว่าจำนวนเงินจะปรากฏในรายการ
Jason Salaz

2
ฉันเอามันกลับมา ดูเหมือนว่ากระบวนการจะใช้เวลาสักครู่ แต่ฉันดู 'เปิดด้วย ... ' ไม่ใช่เมื่อ 2 นาทีก่อน รายการสะอาดอีกครั้ง เย้!
Jason Salaz

เย้! ดีใจที่ได้ผลกับคุณ ฉันขุดมาแล้วและฉันยังไม่ได้คำตอบที่ดีกว่าดังนั้นฉันจึงดีใจที่ใช้งานได้
แดเนียล

7

เมื่อคุณตรวจสอบด้วยสปอตไลท์เพื่อให้แน่ใจว่าคุณไม่มีไดรฟ์สำรองหรือไดรฟ์ข้อมูลอื่นที่มีสำเนาซ้ำของแอพ (ซึ่งในกรณีนี้ Finder จะแสดงแอพทั้งหมดที่รู้เกี่ยวกับที่สามารถเปิดไฟล์ได้) การรันคำสั่งเพื่อสร้างฐานข้อมูล launch services:

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

จากนั้นออกจากระบบและลงชื่อเข้าใช้อีกครั้ง นี่ควรสร้างฐานข้อมูล Launch Services ใหม่สำหรับ OS X โดยลบรายการที่ซ้ำกันทั้งหมด


ที่ดี! ดีใจที่ได้ผลกับคุณ
daviesgeek

6

CleanOpenWithเป็นแอปพลิเคชั่นที่ฉันสร้างขึ้นเพื่อทำความสะอาดเมนู Open With ...

CleanOpenWith เป็นโอเพนซอร์สและฟรี แอปพลิเคชันจะทำตามขั้นตอนเหล่านี้โดยอัตโนมัติ :

  1. เปิด Terminal: 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. หากไม่มีข้อผิดพลาดให้ทำตามขั้นตอนสุดท้ายแล้วเริ่มการค้นหา
  5. ตัวค้นหาการเริ่มต้นใหม่ไม่ต้องการให้คุณรีบูตเครื่อง Mac เพียงกดControl+ Optionในขณะที่คลิกที่ไอคอน Finder ใน Dock เลือกเปิดใหม่และคุณตั้งค่าแล้ว!

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

@ emb1995 ปัญหานี้เกิดขึ้นแม้ว่าคุณจะมีเพียงไดรฟ์เดียวเนื่องจากข้อผิดพลาดในวิธีที่ App Store ดาวน์โหลดการอัปเดต ฉันไม่มีคำอธิบายที่ดีว่าเหตุใด Chrome และไฟล์อื่น ๆ ที่ไม่ใช่ MAS ทำซ้ำดังนั้นอาจมีข้อผิดพลาดมากกว่าหนึ่งรายการหรือการโต้ตอบที่น่ารังเกียจเมื่อเริ่มก่อให้เกิดความเสียหายในฐานข้อมูลและการกระจายความเสียหาย
bmike

ใช่. ฉันรู้เกี่ยวกับข้อผิดพลาด แต่ดูเหมือนว่าทุกอย่างทำงานได้ตามที่ต้องการสำหรับคุณมันไม่สะดวกสำหรับคนอย่างเราที่ติดตั้งหลายตัว ฉันอาจมองเข้าไปในlsregisterบางครั้งเพื่อค้นหาฐานข้อมูลและรหัสอื่น ๆ ที่เกี่ยวข้อง แต่บางทีปัญหานี้ได้รับการแก้ไขใน Mavericks ฉันไม่พบปัญหากับ GM หรือ DPs ยังไม่ได้ติดตั้ง Public Release (แปลก ... ฉันไม่สามารถพูดถึงคุณในความคิดเห็นของฉัน)
evan.bovie

0

ฉันพบปัญหาที่มีการสำรองข้อมูลแอพของฉันบนไดรฟ์ภายนอก หากฉันมีไดรฟ์ที่จัดทำดัชนีหรือเปิดตัวแอพจากไดรเวอร์เหล่านั้นแสดงว่าพวกเขาปรากฏในรายการ


ใช่ฉันมีดิสก์สำรองข้อมูลของ Timemachine เชื่อมต่ออยู่ จะแยกแอปพลิเคชันเก่าเหล่านั้นออกจากเมนูได้อย่างไร
Ivanov

2
@CDK นี้ฟังดูเหมือนความคิดเห็นมากกว่าคำตอบ
HairOfTheDog

0

ฉันรู้ว่านี่เป็นเธรดเก่า แต่สำหรับฉันแล้วสิ่งที่ล้างข้อมูลนี้คือ "Force Quit" แล้วเปิดตัว Finder อีกครั้ง

ปัญหาที่เกิดขึ้นใน iMac อายุ 3 วันเป็นปัจจุบันอย่างสมบูรณ์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.