“Open With”가 왜 이렇게 많은 앱 인스턴스를 표시합니까? [복제]


17

파일을 선택하고 마우스 오른쪽 버튼으로 클릭하여 "연결 프로그램"옵션을 사용하면 해당 파일을 열 가능성이 가장 높은 응용 프로그램 목록이 표시되지만 10.9.5를 실행하는 경우 3 ~ 4 개의 인스턴스가 표시됩니다. 특정 파일을 여는 데 권장되는 각 응용 프로그램-첨부 된 스크린 샷을 참조하십시오. 왜 이런거야? 앱당 하나의 인스턴스로 줄이는 방법이 있습니까? 그렇다면 어떻게?

여기에 이미지 설명을 입력하십시오



Mike, 모니터링에 대한 귀하의 부지런함에 감탄하지만 내 질문은 의심되는 복제본보다 훨씬 명확합니다. 견해는 그 유효성에 대한 증언입니다. 제목만으로도 같은 주제라는 것을 결코 알지 못할 것입니다.
fmz

우리는 그들이 문제를 다시 언급 할 때 항상 질문을 닫고 모든 답변에 대해 한 곳을 가리 킵니다. 귀하의 질문이 문제에 대한 명확하고 명확한 표현이 아니었다면 링크 후 완전히 삭제했을 것입니다. 출시 서비스를 수정하는 방법에 대한 정식 답변을 더 잘 지적 할 수 있도록 수정하거나 메타를 요청하십시오. 그것은 오랫동안 주변에 있었으며 곧 변경되는 것을 보지 못했습니다.
bmike

그리고 항상 그렇듯이- 왜 무언가가 중재되었는지 또는 현재 상황과 다른 결과를 원하는지 확실하지 않은 경우 Ask Different Meta질문 하십시오. 실에 더 많은 눈이 종종 모든 사람을 도와줍니다. 피드백을 주셔서 감사합니다.
bmike

답변:


15

OS X의 '연결 프로그램'메뉴에서 중복 항목을 수정하기 위해 LaunchServices 재 구축

이 문제를 해결하려면 OS X의 LaunchServices 데이터베이스를 재설정해야합니다. OS X에서 대부분의 작업과 마찬가지로이 작업을 수행하는 여러 가지 방법이 있지만 가장 빠른 방법은 단순히 터미널 명령을 사용하는 것입니다.

이 기사에서-터미널에 다음을 복사하십시오.

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

귀하의 솔루션은 grgarside와 동일합니다. 내 터미널 푸는 그것들을 정확하게 파싱하기에 충분하지 않지만 비슷 해야하는 것처럼 보입니다.
Tetsujin

1
@Tetsujin 그들은 동일합니다. 전자의 globbing은 후자의 경로로 확장됩니다.
grg

7

이것은 OS X의 오랜 버그입니다. lsregister로 해결할 수 있습니다.

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

1
당신이 친절하고 참고 자료를 제공해 주시겠습니까? 우리 모두를위한 표준 절차 만 알고 있습니다.
Ruskes

1
@Buscar 특정 인용이 없습니다. 참조 목록 중 하나에있는 명령 중 하나입니다.
grg

2
훗, 직선에서 뭔가 보이는 코드 골프 )
손잡이

4

다른 답변 외에도 다른 하드 드라이브 또는 백업 사본에 존재하는 여러 사본을 표시 할 수 있습니다. Time Machine 백업에 사용하는 외부 하드 드라이브는 응용 프로그램이 해당 드라이브에 백업 된 경우 옵션으로 표시 될 수 있습니다.

앱의 출처가 궁금하다면 다른 애플리케이션 중 하나를여십시오. Dock에서 앱 아이콘을 control + 클릭하고 옵션> "파인더에 표시"를 선택하십시오. 응용 프로그램이 어디에 있는지 보여줍니다.

Buscar 웃에서 제공 한 명령 행을 사용하여 시스템의 LaunchService를 업데이트하십시오.


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.