Skip to content

Instantly share code, notes, and snippets.

@conmute
Created August 23, 2020 20:23
Show Gist options
  • Save conmute/f7cf782612ca726f7127ebae9a1c1212 to your computer and use it in GitHub Desktop.
Save conmute/f7cf782612ca726f7127ebae9a1c1212 to your computer and use it in GitHub Desktop.
Disable bunch of #$!@ in Catalina
#!/bin/bash
# IMPORTANT: You will need to run this script from Recovery. In fact, macOS Catalina brings read-only filesystem which prevent this script from working from the main OS.
# This script needs to be run from the volume you wish to use it.
# E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/disable.sh
# WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.
# Get active services: launchctl list | grep -v "\-\t0"
# Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents
# Agents to disable
TODISABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')
for agent in "${TODISABLE[@]}"
do
mv ./System/Library/LaunchAgents/${agent}.plist ./System/Library/LaunchAgents/${agent}.plist.bak
echo "[OK] Agent ${agent} disabled"
done
# Daemons to disable
TODISABLE=('com.apple.netbiosd' 'com.apple.preferences.timezone.admintool' 'com.apple.remotepairtool' 'com.apple.security.FDERecoveryAgent' 'com.apple.icloud.findmydeviced' 'com.apple.icloud.searchpartyd' 'com.apple.familycontrols' 'com.apple.findmymac' 'com.apple.findmymacmessenger' 'com.apple.SubmitDiagInfo' 'com.apple.screensharing' 'com.apple.appleseed.fbahelperd' 'com.apple.apsd' 'com.apple.ManagedClient.cloudconfigurationd' 'com.apple.ManagedClient.enroll' 'com.apple.ManagedClient' 'com.apple.ManagedClient.startup' 'com.apple.locate' 'com.apple.locationd' 'com.apple.eapolcfg_auth' 'com.apple.RemoteDesktop.PrivilegeProxy' 'com.apple.mediaremoted' 'com.apple.analyticsd')
for daemon in "${TODISABLE[@]}"
do
mv ./System/Library/LaunchDaemons/${daemon}.plist ./System/Library/LaunchDaemons/${daemon}.plist.bak
echo "[OK] Daemon ${daemon} disabled"
done
#!/bin/bash
# IMPORTANT: You will need to run this script from Recovery. In fact, macOS Catalina brings read-only filesystem which prevent this script from working from the main OS.
# This script needs to be run from the volume you wish to use it.
# E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/enable.sh
# WARNING: It might disable things that you may not like. Please double check the services in the TODISABLE vars.
# Get active services: launchctl list | grep -v "\-\t0"
# Find a service: grep -lR [service] /System/Library/Launch* /Library/Launch* ~/Library/LaunchAgents
# Agents to enable
TOENABLE=('com.apple.SafariCloudHistoryPushAgent' 'com.apple.bird' 'com.apple.iCloudUserNotifications' 'com.apple.icloud.findmydeviced.findmydevice-user-agent' 'com.apple.icloud.fmfd' 'com.apple.icloud.searchpartyuseragent' 'com.apple.security.cloudkeychainproxy3' 'com.apple.photolibraryd' 'com.apple.cloudd' 'com.apple.cloudpaird' 'com.apple.cloudphotod' 'com.apple.SafariBookmarksSyncAgent' 'com.apple.SafariCloudHistoryPushAgent' 'com.apple.protectedcloudstorage.protectedcloudkeysyncing' 'com.apple.imagent' 'com.apple.imautomatichistorydeletionagent' 'com.apple.imklaunchagent' 'com.apple.imtransferagent' 'com.apple.avconferenced' 'com.apple.gamed' 'com.apple.passd' 'com.apple.Maps.pushdaemon' 'com.apple.screencaptureui' 'com.apple.screensharing.MessagesAgent' 'com.apple.screensharing.agent' 'com.apple.screensharing.menuextra' 'com.apple.telephonyutilities.callservicesd' 'com.apple.photoanalysisd' 'com.apple.parsecd' 'com.apple.AOSPushRelay' 'com.apple.AOSHeartbeat' 'com.apple.AirPlayUIAgent' 'com.apple.AirPortBaseStationAgent' 'com.apple.DictationIM' 'com.apple.familycircled' 'com.apple.familycontrols.useragent' 'com.apple.familynotificationd' 'com.apple.findmymacmessenger' 'com.apple.videosubscriptionsd' 'com.apple.CommCenter-osx' 'com.apple.sharingd' 'com.apple.identityservicesd' 'com.apple.java.InstallOnDemand' 'com.apple.parentalcontrols.check' 'com.apple.parsec-fbf' 'com.apple.security.keychain-circle-notification' 'com.apple.syncdefaultsd' 'com.apple.appleseed.seedusaged' 'com.apple.appleseed.seedusaged.postinstall' 'com.apple.CallHistorySyncHelper' 'com.apple.RemoteDesktop' 'com.apple.CallHistoryPluginHelper' 'com.apple.SocialPushAgent' 'com.apple.WebKit.PluginAgent' 'com.apple.touristd' 'com.apple.macos.studentd' 'com.apple.KeyboardAccessAgent' 'com.apple.exchange.exchangesyncd' 'com.apple.suggestd' 'com.apple.AddressBook.abd' 'com.apple.ap.adprivacyd' 'com.apple.helpd' 'com.apple.homed' 'com.apple.ap.adservicesd' 'com.apple.amp.mediasharingd' 'com.apple.mediaanalysisd' 'com.apple.mediaremoteagent' 'com.apple.siriknowledged' 'com.apple.assistant_service' 'com.apple.assistantd' 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' 'com.apple.Siri.agent' 'com.apple.VoiceOver' 'com.apple.voicememod' 'com.apple.accessibility.AXVisualSupportAgent' 'com.apple.accessibility.dfrhud' 'com.apple.accessibility.heard' 'com.apple.quicklook.ThumbnailsAgent' 'com.apple.quicklook' 'com.apple.quicklook.ui.helper' 'com.apple.remindd' 'com.apple.sidecar-hid-relay' 'com.apple.sidecar-relay' 'com.apple.spindump_agent' 'com.apple.ReportCrash' 'com.apple.ReportGPURestart' 'com.apple.ReportPanic' 'com.apple.DiagnosticReportCleanup' 'com.apple.TrustEvaluationAgent')
for agent in "${TOENABLE[@]}"
do
mv /System/Library/LaunchAgents/${agent}.plist.bak /System/Library/LaunchAgents/${agent}.plist
echo "[OK] Agent ${agent} enabled"
done
# Daemons to enable
TOENABLE=('com.apple.netbiosd' 'com.apple.preferences.timezone.admintool' 'com.apple.remotepairtool' 'com.apple.security.FDERecoveryAgent' 'com.apple.icloud.findmydeviced' 'com.apple.icloud.searchpartyd' 'com.apple.familycontrols' 'com.apple.findmymac' 'com.apple.findmymacmessenger' 'com.apple.SubmitDiagInfo' 'com.apple.screensharing' 'com.apple.appleseed.fbahelperd' 'com.apple.apsd' 'com.apple.ManagedClient.cloudconfigurationd' 'com.apple.ManagedClient.enroll' 'com.apple.ManagedClient' 'com.apple.ManagedClient.startup' 'com.apple.locate' 'com.apple.locationd' 'com.apple.eapolcfg_auth' 'com.apple.RemoteDesktop.PrivilegeProxy' 'com.apple.mediaremoted' 'com.apple.analyticsd')
for daemon in "${TOENABLE[@]}"
do
mv /System/Library/LaunchDaemons/${daemon}.plist.bak /System/Library/LaunchDaemons/${daemon}.plist
echo "[OK] Daemon ${daemon} enabled"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment