Remover serviços no OS X

15

Eu estou olhando para remover alguns serviços completamente, ou pelo menos da lista no painel de preferências do teclado. Eu tentei:

  1. Service Scrubber . Apenas remove serviços do menu - algo que você pode fazer nas Preferências do Sistema desde 10.6.
  2. Removendo arquivos em ~/Library/Services/ e /Library/Services/ . É que a maioria dos aplicativos de terceiros não colocam seus serviços lá.
  3. %código%. Ele remove os serviços da lista nas Preferências do Sistema. Mas também invalida a assinatura do código do pacote, e as alterações podem ser revertidas por atualizações.

Eu acho que você teria que se contentar com a última opção e atribuir novas assinaturas com defaults delete /Applications/SomeApp.app/Contents/Info NSServices quando necessário. Mas há alguma maneira mais fácil?

    
por user495470 18.03.2011 / 10:41

1 resposta

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
    
por 02.06.2011 / 19:54