ทำไม“ เปิดด้วย” แสดงแอพหลายอินสแตนซ์ [ซ้ำ]


17

คำถามนี้มีคำตอบอยู่ที่นี่แล้ว:

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

enter image description here



ไมค์ฉันชื่นชมความขยันของคุณในการตรวจสอบอย่างไรก็ตามคำถามของฉันชัดเจนกว่าสำเนาที่ถูกกล่าวหา จำนวนการดูคือประจักษ์พยานถึงความถูกต้อง จากชื่อเพียงอย่างเดียวคุณจะไม่มีทางรู้ว่ามันเป็นเรื่องเดียวกัน
fmz

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

และเช่นเคย - ถามคำถามเกี่ยวกับ ถาม Meta ที่แตกต่าง หากคุณไม่แน่ใจว่าทำไมบางสิ่งบางอย่างถูกควบคุมหรือต้องการให้ผลลัพธ์ที่แตกต่างกว่าสถานการณ์ปัจจุบัน สายตาที่มากขึ้นบนเธรดมักจะช่วยให้ทุกคน - ฉันรวมอยู่ด้วย ขอบคุณสำหรับความคิดเห็น.
bmike

คำตอบ:


15

สร้าง LaunchServices ใหม่เพื่อแก้ไขรายการที่ซ้ำกันในเมนู "เปิดด้วย" ของ OS X

ในการแก้ไขปัญหานี้เราต้องรีเซ็ตฐานข้อมูล LaunchServices ของ OS X เช่นเดียวกับกรณีที่การกระทำส่วนใหญ่ใน OS X มีหลายวิธีในการทำภารกิจนี้ให้สำเร็จ แต่วิธีที่เร็วที่สุดคือการใช้คำสั่ง Terminal เพียงอย่างเดียว

จากบทความนั้น - คัดลอกต่อไปนี้ในเทอร์มินัลของคุณ

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

โซลูชันของคุณเทียบเท่ากับ grgarside หรือไม่ Terminal-Fu ของฉันไม่ดีพอที่จะวิเคราะห์คำเหล่านั้นได้อย่างถูกต้อง แต่ดูเหมือนว่าพวกเขาควรจะเหมือนกัน
Tetsujin

1
@Tetsujin พวกเขาเทียบเท่า การโค้งในอดีตนั้นขยายไปสู่เส้นทางหลัง
grg

มันทำงานได้อย่างถูกต้องแล้ว ขอบคุณสำหรับความช่วยเหลือ
fmz

7

นี่เป็นข้อผิดพลาดที่ยาวนานใน OS X คุณสามารถแก้ไขได้ด้วย lsregister:

/Sy*/L*/Fr*/CoreS*/F*/L*/S*/lsregister -kill -r -domain local -domain system -domain user

1
คุณจะใจดีและให้การอ้างอิงคุณรู้เพียงแค่ขั้นตอนมาตรฐานสำหรับเราทุกคน
Buscar웃

1
@Buscar ฉันไม่มีการอ้างอิงเฉพาะ - เป็นหนึ่งในคำสั่งเหล่านั้นที่ฉันมีในรายการอ้างอิงของฉัน
grg

2
ดูเหมือนว่าจะเป็นอะไรที่ตรงไปตรงมา การเขียนโปรแกรมปริศนา & amp; รหัสกอล์ฟ ;)
Doorknob

4

นอกเหนือจากคำตอบอื่น ๆ แล้วยังสามารถแสดงสำเนาหลายชุดที่มีอยู่ในฮาร์ดไดรฟ์อื่นหรือสำเนาสำรอง ฮาร์ดไดรฟ์ภายนอกที่คุณใช้สำหรับการสำรองข้อมูล Time Machine อาจปรากฏขึ้นเป็นตัวเลือกหากแอปพลิเคชันของคุณถูกสำรองข้อมูลไปยังไดรฟ์นั้น

หากคุณอยากรู้ว่าแอพมาจากไหนให้เปิดแอปพลิเคชั่นอื่น จากนั้นจาก Dock ให้ควบคุม + คลิกที่ไอคอนแอพแล้วเลือก: ตัวเลือก & gt; "แสดงใน Finder" นี่จะแสดงให้คุณเห็นว่าแอปพลิเคชั่นอยู่ที่ไหน

ใช้บรรทัดคำสั่งที่จัดทำโดย Buscar Launch เพื่ออัปเดต LaunchServices ของระบบ


2

หากต้องการขยายคำตอบที่ได้รับจาก grgarside และ Buscar คุณสามารถทำให้ความเจ็บปวดน้อยลงเล็กน้อยโดยการกำหนดชื่อแทนในสคริปต์. bashrc ของคุณ ในการทำเช่นนั้นให้เปิด Terminal.app และแก้ไขข้อความโปรด (vi, nano, emacs หากคุณชอบ) .bashrc เพื่อเพิ่มบรรทัดต่อไปนี้ในตอนท้ายสุด:

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

โปรดทราบว่า rmdup เป็นชื่อนามแฝงที่ฉันเลือกที่จะจดจำคำสั่งในภายหลังได้ง่าย (หมายถึงการขยายเพื่อ 'ลบคำซ้ำ') คุณสามารถเลือกชื่อนามแฝงอื่น ๆ ที่คุณชอบเพียงระวังว่าคุณไม่ได้ใช้ชื่อที่ใช้สำหรับคำสั่งอื่นแล้ว

หลังจากเปลี่ยน. bashrc ของคุณแล้วเมื่อคุณสังเกตเห็นแอปพลิเคชันที่ซ้ำกันอีกครั้งคุณสามารถเปิด Terminal.app และพิมพ์ rmdup หรือชื่ออื่นใดที่คุณเลือกแทนที่จะเป็นเส้นทางแบบเต็มไปยัง lsregister คำสั่งที่มีข้อโต้แย้งทั้งหมด ฯลฯ

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