Skip to content

Instantly share code, notes, and snippets.

@monomadic
Last active August 10, 2022 04:50
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save monomadic/c48271fd1a2cdc09c24a676588c8ecfe to your computer and use it in GitHub Desktop.
Save monomadic/c48271fd1a2cdc09c24a676588c8ecfe to your computer and use it in GitHub Desktop.
Forked from another file and documented, each entry on a new line to provide easy commenting / disabling of lines.
#!/bin/bash
# PRO TIP: Don't disable shit until you know exactly what it does. Remember that disabling doesn't kill the process, so most tweaks you need to reboot to fully see effects.
# MINI TUTORIAL ON LAUNCHCTL
# List all jobs in system:
# launchctl list
# first column is the process id, or - if the job is not loaded. second is exit code.
# Count all jobs in system:
# launchctl list | wc -l
# Don't kill tasks with kill -9. They will only be ressurected under a new PID and leak memory. Use:
# launchctl stop com.example.app
# To permanently disable a job:
# launchctl unload -w <task>
# for more info, launchctl help
# when you know what you're doing, disable System Integrity Protection so you can actually get some power back. But re-enable it when you're done.
# Finding out what a service does.
# try googling the name or its man page.
# This link is also good https://vilimpoc.org/blog/2014/01/15/provisioning-os-x-and-disabling-unnecessary-services/
# More info on launchd: http://www.launchd.info/
# https://github.com/fix-macosx/yosemite-phone-home
# get rid of some garbage unwanted network services:
sudo launchctl disable system/netbiosd # you'll need this if you want to snoop on network shares though.
sudo launchctl disable system/parsecd # location suggestions for siri, spotlight + messages suggestions, safari lookup
sudo launchctl disable system/parentalcontrols.check # parental controls (see the prefs page, it's shit)
sudo launchctl disable system/airportd # this appears to be for talking to airport basestations... could also include other stuff? experiment.
sudo launchctl disable system/rtcreportingd # itunes home sharing and other junk.
# ======= AGENTS
# photos.app stuff
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.photoanalysisd.plist # the devil itself. image recognition that slowly eats away at your cpu and your soul.
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.cloudphotosd.plist # background uploading of photos.
# telephony.... this may cause 100% cpu issues if SIP is not disabled (reboot into safe mode, csrutil disable)
# used for facetime and handover with calls/sms. garbage.
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.telephonyutilities.callservicesd.plist
# airplay - you can always load it if you end up needing it
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.AirPlayUIAgent.plist
# airport basestation client - you don't need it if you don't run an airport base station.
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.AirPortBaseStationAgent.plist
# calendar agent... calendar still seems to work fine with this off (EXPERIMENTAL)
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.CalendarAgent.plist
# icloud... I do use this so it's on.
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.icloud.fmfd.plist # find my friends daemon
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.cloudd.plist # cloudkit. not needed for syncing.
# dictation
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.DictationIM.plist
# assistant service
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.assistant_service.plist # siri... I hate you siri.
# iChat / messages.app stuff... if you don't use it, disable it... surprisingly the app still works but you won't get updates if it's closed.
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.soagent.plist
# seedusage daemon - used by feedback assistant.
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.appleseed.seedusaged.plist
# AOSPushRelay rapes your privacy.
sudo launchctl unload -w /System/Library/LaunchAgents/com.apple.AOSPushRelay.plist
# ======= DAEMONS
# cough... submit diagnostics... cough
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.SubmitDiagInfo.plist
# notifications... bye...
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.AOSNotificationOSX.plist
# Agents to disable
# 'com.apple.DictationIM' 'com.apple.iCloudUserNotifications' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.gamed' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.imagent' 'com.apple.cloudfamilyrestrictionsd-mac' 'com.apple.cloudpaird' '' 'com.apple.DictationIM' 'com.apple.assistant_service' 'com.apple.CallHistorySyncHelper' 'com.apple.CallHistoryPluginHelper' '' 'com.apple.IMLoggingAgent' 'com.apple.geodMachServiceBridge' 'com.apple.syncdefaultsd' 'com.apple.security.cloudkeychainproxy3' 'com.apple.security.idskeychainsyncingproxy' 'com.apple.security.keychain-circle-notification' 'com.apple.sharingd' 'com.apple.appleseed.seedusaged' '' 'com.apple.assistantd' 'com.apple.parentalcontrols.check' 'com.apple.parsecd' 'com.apple.identityservicesd')
# Daemons to disable
# TODISABLE=('com.apple.netbiosd' 'com.apple.preferences.timezone.admintool' 'com.apple.preferences.timezone.auto' 'com.apple.remotepairtool' 'com.apple.rpmuxd' 'com.apple.security.FDERecoveryAgent' 'com.apple.icloud.findmydeviced' 'com.apple.findmymacmessenger' 'com.apple.familycontrols' 'com.apple.findmymac' 'com.apple.AirPlayXPCHelper' 'com.apple.SubmitDiagInfo' 'com.apple.screensharing' 'com.apple.appleseed.fbahelperd' 'com.apple.apsd' 'com.apple.AOSNotificationOSX' 'com.apple.FileSyncAgent.sshd' 'com.apple.ManagedClient.cloudconfigurationd' 'com.apple.ManagedClient.enroll' 'com.apple.ManagedClient' 'com.apple.ManagedClient.startup' 'com.apple.iCloudStats' 'com.apple.locationd' 'com.apple.mbicloudsetupd' 'com.apple.laterscheduler' 'com.apple.awacsd' 'com.apple.eapolcfg_auth' 'com.apple.familycontrols')
# sip disabled:
# launchctl unload -w /System/Library/LaunchAgents/com.apple.security.idskeychainsyncingproxy.plist
# /System/Library/LaunchAgents/com.apple.geodMachServiceBridge.plist: Operation not permitted while System Integrity Protection is engaged
# /System/Library/LaunchAgents/com.apple.security.idskeychainsyncingproxy.plist: Operation not permitted while System Integrity Protection is engaged
# /System/Library/LaunchAgents/com.apple.security.keychain-circle-notification.plist: Operation not permitted while System Integrity Protection is engaged
Copy link

ghost commented Mar 14, 2017

I love it, thanks for the description :D

@CharlesMason
Copy link

Why did you comment out so many Daemons in line 87/88?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment