Видаліть служби на OS X


15

Я хочу видалити деякі сервіси повністю або принаймні зі списку на панелі налаштувань клавіатури. Я спробував:

  1. Сервісний скрубер . Це лише вилучає служби з меню - те, що ви змогли зробити із системних налаштувань з 10.6.
  2. Видалення файлів у ~/Library/Services/та /Library/Services/. Просто більшість програм сторонніх розробників не розміщують своїх послуг там.
  3. defaults delete /Applications/SomeApp.app/Contents/Info NSServices. Він видаляє служби зі списку в системних налаштуваннях. Але це також скасовує підпис коду пакета, і зміни можуть бути повернені оновленнями.

Я думаю, вам просто доведеться погодитися з останньою опцією і присвоїти нові підписи, codesignколи це буде потрібно. Але чи є простіший спосіб?


Ах, краса OS X ускладнює речі, які повинні бути простими.
Крегокс

Яку версію ОС X ви використовуєте? Внутрішня система OS X, як правило, досить різко змінюється між основними версіями.
Majenko

5
@Cawas: видалення послуг просте: ви переходите до списку в System Preferences і знімаєте їх. Що Лрі хоче чомусь зробити - це видалити їх і унеможливити їх відновлення. Чому слід легко ламати речі?
LaC

@LaC, мабуть, справа смаку в цьому випадку. У моєму випадку я хотів старого доброго експозиції. але дозвольте мені повернути ваше запитання: просто додати послугу до цього списку - чому не слід просто видалити її та зберегти її чистотою, якщо адміністратор цього захоче?
Крегокс

АФАЙКТ, це так само просто. Ви додаєте послугу, помістивши її в бібліотеку / сервіси або встановивши додаток, який її надає. Ви видаляєте послугу, видаляючи її з бібліотеки / служб або видаляючи додаток, який її надає.
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?
Даніель Бек
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.