ลบบริการบน 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 เวอร์ชันใดอยู่ internals ของ OS X มีแนวโน้มที่จะเปลี่ยนแปลงค่อนข้างมากระหว่างเวอร์ชันหลัก
Majenko

5
@Cawas: การลบบริการนั้นง่าย: คุณไปที่รายการในการตั้งค่าระบบและยกเลิกการเลือก สิ่งที่ Lri ต้องการทำด้วยเหตุผลบางอย่างคือการลบพวกเขาออกและทำให้พวกเขาไม่สามารถกู้คืนได้ ทำไมมันง่ายที่จะทำลายข้าวของ?
LaC

@ LaC มันอาจเป็นเรื่องของรสนิยมในกรณีนี้ ในกรณีของฉันฉันต้องการ expose เก่าที่ดี แต่ให้ฉันย้อนกลับคำถามของคุณ: มันง่ายในการเพิ่มบริการในรายการ - ทำไมมันไม่ควรง่าย ๆ ที่จะลบออกอย่างสมบูรณ์และรักษาความสะอาดถ้าผู้ดูแลระบบต้องการ?
cregox

AFAICT มันง่ายเหมือนกัน คุณเพิ่มบริการโดยใส่ลงใน Library / Services หรือติดตั้งแอปพลิเคชันที่ให้บริการ คุณลบบริการโดยลบออกจาก Library / Services หรือลบแอปพลิเคชันที่ให้บริการ
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.