OS X'te hizmetleri kaldırma


15

Bazı hizmetleri tamamen veya en azından Klavye tercih bölmesindeki listeden kaldırmak istiyorum. Denedim:

  1. Servis Temizleyici . Yalnızca menüden hizmetleri kaldırır - 10.6'dan bu yana Sistem Tercihleri'nden yapabileceğiniz bir şey.
  2. Dosyaları kaldırma ~/Library/Services/ve /Library/Services/. Sadece çoğu üçüncü taraf uygulaması hizmetlerini oraya koymaz.
  3. defaults delete /Applications/SomeApp.app/Contents/Info NSServices. Hizmetleri Sistem Tercihleri'ndeki listeden kaldırır. Ancak paketin kod imzasını da geçersiz kılar ve değişiklikler güncelleştirmelerle geri alınabilir.

Sanırım son seçeneğe razı olmanız ve codesigngerektiğinde yeni imzalar atamanız gerekiyor. Ama daha kolay bir yolu var mı?


Ah, OS X'in güzelliği basit olması gereken şeyleri karmaşıklaştırıyor.
cregox

Hangi OS X sürümünü kullanıyorsunuz? OS X'in iç kısımları, büyük sürümler arasında oldukça büyük ölçüde değişme eğilimindedir.
Majenko

5
@Cawas: hizmetleri kaldırmak basittir: Sistem Tercihleri'nde listeye gidip bunların işaretini kaldırırsınız. Lri'nin bir nedenden dolayı yapmak istediği, onları kaldırmak ve onları geri yüklemek imkansız hale getirmektir. Eşyaları kırmak neden kolay olmalı?
LaC

@LaC bu durumda muhtemelen bir zevk meselesi. Benim durumumda iyi eski Expose istedim. ancak sorunuzu tersine çevireyim: hizmeti bu listeye eklemek basit - neden tamamen kaldırmak ve yönetici isterse temiz tutmak kolay olmasın ?
cregox

AFAICT, bu kadar basit. Bir hizmeti Kütüphane / Hizmetler'e koyarak veya bunu sağlayan bir uygulamayı yükleyerek eklersiniz. Bir hizmeti Kütüphane / Hizmetler'den veya sağlayan uygulamayı kaldırarak kaldırırsınız.
LaC

Yanıtlar:


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. adımda belirli bir Sertifika Türü var mı?
Daniel Beck
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.