OS X에서 서비스 제거


15

일부 서비스를 완전히 또는 적어도 키보드 환경 설정 창의 목록에서 제거하려고합니다. 난 노력 했어:

  1. 서비스 수세미 . 메뉴에서 서비스 만 제거합니다. 10.6 이후 시스템 환경 설정에서 할 수 있었던 것입니다.
  2. ~/Library/Services/및의 파일을 삭제합니다 /Library/Services/. 대부분의 타사 앱은 서비스를 제공하지 않습니다.
  3. defaults delete /Applications/SomeApp.app/Contents/Info NSServices. 시스템 환경 설정의 목록에서 서비스를 제거합니다. 그러나 번들의 코드 서명도 무효화되며 업데이트로 변경 사항을 되돌릴 수 있습니다.

마지막 옵션을 정하고 codesign필요할 때 새 서명을 할당 해야한다고 생각합니다. 그러나 더 쉬운 방법이 있습니까?


아, OS X의 아름다움은 단순해야 할 것들을 복잡하게 만듭니다.
cregox

어떤 OS X 버전을 사용하고 있습니까? OS X의 내부는 주요 버전 사이에서 상당히 크게 변하는 경향이 있습니다.
Majenko

5
@Cawas : 서비스 제거는 간단합니다. 시스템 환경 설정의 목록으로 이동하여 선택을 취소하십시오. 어떤 이유로 Lri가 원하는 것은 제거하고 복원 할 수 없게 만드는 것입니다. 물건을 부수기 쉬운 이유는 무엇입니까?
LaC

@LaC이 경우 아마도 맛의 문제 일 것입니다. 제 경우에는 좋은 오래된 노출을 원했습니다. 그러나 귀하의 질문을 뒤집어 드리겠습니다. 서비스를 해당 목록에 추가하는 것은 간단합니다. 관리자 가 원하는 경우 서비스를 완전히 제거하고 깨끗하게 유지하는 것이 왜 간단하지 않아야 합니까?
cregox

AFAICT, 그것은 간단합니다. 서비스를 라이브러리 / 서비스에 넣거나 제공하는 응용 프로그램을 설치하여 서비스를 추가합니다. 라이브러리 / 서비스에서 서비스를 제거하거나 서비스를 제공하는 응용 프로그램을 제거하여 서비스를 제거합니다.
LaC

답변:


3
#!/bin/sh

applist="Path Finder
Skim
TextWrangler"
IFS=$'\n'

for appname in $applist; do
    apppath=$(mdfind -onlyin /Applications/ -onlyin ~/Applications/ \
    -onlyin /Developer/Applications/ -onlyin /System/Library/CoreServices/ \
    'kMDItemKind == Application' | grep -i "/$appname.app$" | head -1)
    echo $apppath
    date=$(date '+%y%m%d%-H%M%S')
    cp "$apppath/Contents/Info.plist" "$apppath/Contents/Info-$date.plist"
    defaults delete "$apppath/Contents/Info" NSServices
    codesign -f -s - "$apppath"
done

2 단계의 특정 인증서 유형 이 있습니까?
Daniel Beck
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.