Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Disable bunch of #$!@ in Catalina
#!/bin/bash
# IMPORTANT: Don't forget to logout from your Apple ID in the settings before running it!
# 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.
# 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
# 'com.apple.speech.speechdatainstallerd' 'com.apple.speech.speechsynthesisd' 'com.apple.speech.synthesisserver' will freeze Edit menus
# 'com.apple.bird' will prevent saving prompt from being shown
TODISABLE=()
# iCloud
TODISABLE+=('com.apple.security.cloudkeychainproxy3' \
'com.apple.iCloudUserNotifications' \
'com.apple.icloud.findmydeviced.findmydevice-user-agent' \
'com.apple.icloud.fmfd' \
'com.apple.icloud.searchpartyuseragent' \
'com.apple.cloudd' \
'com.apple.cloudpaird' \
'com.apple.cloudphotosd' \
'com.apple.followupd' \
'com.apple.protectedcloudstorage.protectedcloudkeysyncing')
# Safari useless stuff
TODISABLE+=('com.apple.SafariBookmarksSyncAgent' \
'com.apple.SafariCloudHistoryPushAgent' \
'com.apple.WebKit.PluginAgent')
# iMessage / Facetime
TODISABLE+=('com.apple.imagent' \
'com.apple.imautomatichistorydeletionagent' \
'com.apple.imklaunchagent' \
'com.apple.imtransferagent' \
'com.apple.avconferenced')
# Game Center / Passbook / Apple TV / Homekit...
TODISABLE+=('com.apple.gamed' \
'com.apple.passd' \
'com.apple.Maps.pushdaemon' \
'com.apple.videosubscriptionsd' \
'com.apple.CommCenter-osx' \
'com.apple.homed')
# Ad-related
TODISABLE+=('com.apple.ap.adprivacyd' \
'com.apple.ap.adservicesd')
# Screensharing
TODISABLE+=('com.apple.screensharing.MessagesAgent' \
'com.apple.screensharing.agent' \
'com.apple.screensharing.menuextra')
# Siri
TODISABLE+=('com.apple.siriknowledged' \
'com.apple.assistant_service' \
'com.apple.assistantd' \
'com.apple.Siri.agent' \
'com.apple.parsec-fbf')
# VoiceOver / accessibility-related stuff
TODISABLE+=('com.apple.VoiceOver' \
'com.apple.voicememod' \
'com.apple.accessibility.AXVisualSupportAgent' \
'com.apple.accessibility.dfrhud' \
'com.apple.accessibility.heard')
# Quicklook
TODISABLE+=('com.apple.quicklook.ui.helper' \
'com.apple.quicklook.ThumbnailsAgent' \
'com.apple.quicklook')
# Sidecar
TODISABLE+=('com.apple.sidecar-hid-relay' \
'com.apple.sidecar-relay')
# Debugging process
TODISABLE+=('com.apple.spindump_agent' \
'com.apple.ReportCrash' \
'com.apple.ReportGPURestart' \
'com.apple.ReportPanic' \
'com.apple.DiagnosticReportCleanup' \
'com.apple.TrustEvaluationAgent')
# Screentime
TODISABLE+=('com.apple.ScreenTimeAgent' \
'com.apple.UsageTrackingAgent')
# Others
TODISABLE+=('com.apple.telephonyutilities.callservicesd' \
'com.apple.photoanalysisd' \
'com.apple.parsecd' \
'com.apple.AOSPushRelay' \
'com.apple.AOSHeartbeat' \
'com.apple.AirPlayUIAgent' \
'com.apple.AirPortBaseStationAgent' \
'com.apple.familycircled' \
'com.apple.familycontrols.useragent' \
'com.apple.familynotificationd' \
'com.apple.findmymacmessenger' \
'com.apple.sharingd' \
'com.apple.identityservicesd' \
'com.apple.java.InstallOnDemand' \
'com.apple.parentalcontrols.check' \
'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.touristd' \
'com.apple.macos.studentd' \
'com.apple.KeyboardAccessAgent' \
'com.apple.exchange.exchangesyncd' \
'com.apple.suggestd' \
'com.apple.AddressBook.abd' \
'com.apple.helpd' \
'com.apple.amp.mediasharingd' \
'com.apple.mediaanalysisd' \
'com.apple.mediaremoteagent' \
'com.apple.remindd' \
'com.apple.keyboardservicesd' \
'com.apple.AddressBook.SourceSync' \
'com.apple.telephonyutilities.callservicesd' \
'com.apple.mobileassetd' \
'com.apple.CalendarAgent' \
'com.apple.knowledge-agent')
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=()
# iCloud
TODISABLE+=('com.apple.analyticsd', 'com.apple.icloud.findmydeviced')
# Others
TODISABLE+=('com.apple.netbiosd' \
'com.apple.preferences.timezone.admintool' \
'com.apple.remotepairtool' \
'com.apple.security.FDERecoveryAgent' \
'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')
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: Don't forget to logout from your Apple ID in the settings before running it!
# 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.
# E.g. run it like this: cd /Volumes/Macintosh\ HD && sh /Volumes/Macintosh\ HD/Users/sabri/Desktop/disable.sh
# 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=()
# iCloud
TOENABLE+=('com.apple.security.cloudkeychainproxy3' \
'com.apple.iCloudUserNotifications' \
'com.apple.icloud.findmydeviced.findmydevice-user-agent' \
'com.apple.icloud.fmfd' \
'com.apple.icloud.searchpartyuseragent' \
'com.apple.cloudd' \
'com.apple.cloudpaird' \
'com.apple.cloudphotosd' \
'com.apple.followupd' \
'com.apple.protectedcloudstorage.protectedcloudkeysyncing')
# Safari useless stuff
TOENABLE+=('com.apple.SafariBookmarksSyncAgent' \
'com.apple.SafariCloudHistoryPushAgent' \
'com.apple.WebKit.PluginAgent')
# iMessage / Facetime
TOENABLE+=('com.apple.imagent' \
'com.apple.imautomatichistorydeletionagent' \
'com.apple.imklaunchagent' \
'com.apple.imtransferagent' \
'com.apple.avconferenced')
# Game Center / Passbook / Apple TV / Homekit...
TOENABLE+=('com.apple.gamed' \
'com.apple.passd' \
'com.apple.Maps.pushdaemon' \
'com.apple.videosubscriptionsd' \
'com.apple.CommCenter-osx' \
'com.apple.homed')
# Ad-related
TOENABLE+=('com.apple.ap.adprivacyd' \
'com.apple.ap.adservicesd')
# Screensharing
TOENABLE+=('com.apple.screensharing.MessagesAgent' \
'com.apple.screensharing.agent' \
'com.apple.screensharing.menuextra')
# Siri
TOENABLE+=('com.apple.siriknowledged' \
'com.apple.assistant_service' \
'com.apple.assistantd' \
'com.apple.Siri.agent' \
'com.apple.parsec-fbf')
# VoiceOver / accessibility-related stuff
TOENABLE+=('com.apple.VoiceOver' \
'com.apple.voicememod' \
'com.apple.accessibility.AXVisualSupportAgent' \
'com.apple.accessibility.dfrhud' \
'com.apple.accessibility.heard')
# Quicklook
TOENABLE+=('com.apple.quicklook.ui.helper' \
'com.apple.quicklook.ThumbnailsAgent' \
'com.apple.quicklook')
# Sidecar
TOENABLE+=('com.apple.sidecar-hid-relay' \
'com.apple.sidecar-relay')
# Debugging process
TOENABLE+=('com.apple.spindump_agent' \
'com.apple.ReportCrash' \
'com.apple.ReportGPURestart' \
'com.apple.ReportPanic' \
'com.apple.DiagnosticReportCleanup' \
'com.apple.TrustEvaluationAgent')
# Screentime
TOENABLE+=('com.apple.ScreenTimeAgent' \
'com.apple.UsageTrackingAgent')
# Others
TOENABLE+=('com.apple.telephonyutilities.callservicesd' \
'com.apple.photoanalysisd' \
'com.apple.parsecd' \
'com.apple.AOSPushRelay' \
'com.apple.AOSHeartbeat' \
'com.apple.AirPlayUIAgent' \
'com.apple.AirPortBaseStationAgent' \
'com.apple.familycircled' \
'com.apple.familycontrols.useragent' \
'com.apple.familynotificationd' \
'com.apple.findmymacmessenger' \
'com.apple.sharingd' \
'com.apple.identityservicesd' \
'com.apple.java.InstallOnDemand' \
'com.apple.parentalcontrols.check' \
'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.touristd' \
'com.apple.macos.studentd' \
'com.apple.KeyboardAccessAgent' \
'com.apple.exchange.exchangesyncd' \
'com.apple.suggestd' \
'com.apple.AddressBook.abd' \
'com.apple.helpd' \
'com.apple.amp.mediasharingd' \
'com.apple.mediaanalysisd' \
'com.apple.mediaremoteagent' \
'com.apple.remindd' \
'com.apple.keyboardservicesd' \
'com.apple.AddressBook.SourceSync' \
'com.apple.telephonyutilities.callservicesd' \
'com.apple.mobileassetd' \
'com.apple.CalendarAgent' \
'com.apple.knowledge-agent')
for agent in "${TOENABLE[@]}"
do
mv ./System/Library/LaunchAgents/${agent}.plist.bak ./System/Library/LaunchAgents/${agent}.plist
echo "[OK] Agent ${agent} disabled"
done
# Daemons to enable
TOENABLE=()
# iCloud
TOENABLE+=('com.apple.analyticsd', 'com.apple.icloud.findmydeviced')
# Others
TOENABLE+=('com.apple.netbiosd' \
'com.apple.preferences.timezone.admintool' \
'com.apple.remotepairtool' \
'com.apple.security.FDERecoveryAgent' \
'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')
for daemon in "${TOENABLE[@]}"
do
mv ./System/Library/LaunchDaemons/${daemon}.plist.bak ./System/Library/LaunchDaemons/${daemon}.plist
echo "[OK] Daemon ${daemon} disabled"
done
@pwnsdx

This comment has been minimized.

Copy link
Owner Author

pwnsdx commented Sep 16, 2019

"Disable bunch of #$!@" has been updated to support macOS Catalina.

The rules has changed a bit so please read the IMPORTANT note. Disabling SIP is no longer required.

Note that if you run this script, you will disable many things including local sharing, AirPlay, iCloud and almost everything that phone back to Apple servers except the App Store and Software Update. You can always customise the TODISABLE var to reenable some services.

Enjoy and happy upgrade!

@alain57

This comment has been minimized.

Copy link

alain57 commented Oct 14, 2019

Hi nice script, but is it possible which one I need to enable again, so that the network shared drive inside my local network are again appearing in macOS ?

edit : i got it it was sharingd

@b0gdanw

This comment has been minimized.

Copy link

b0gdanw commented Oct 22, 2019

Please consider adding /Library/LaunchAgents/com.apple.followupd.plist to the list. It's responsible for displaying the Sign Into iCloud notification in System Preferences.

@alain57

This comment has been minimized.

Copy link

alain57 commented Oct 22, 2019

thanks for the infomation, i'll try that one too as i don't use iCloud and i find it really boring to have useless notification for this :/

@pwnsdx

This comment has been minimized.

Copy link
Owner Author

pwnsdx commented Oct 22, 2019

@b0gdanw I added it, thanks!

@thenikin

This comment has been minimized.

Copy link

thenikin commented Oct 24, 2019

thanks for this, from 14gb used ram to 5 after applying it ! :D

@b0gdanw

This comment has been minimized.

Copy link

b0gdanw commented Oct 25, 2019

@pwnsdx Another suggestion /System/Library/LaunchAgents/com.apple.UsageTrackingAgent.plist and /System/Library/LaunchAgents/com.apple.ScreenTimeAgent.plist both related to ScreenTime.
@sarassine The account was banned, this is not the place to discuss it.

@stephanepiriou

This comment has been minimized.

Copy link

stephanepiriou commented Oct 26, 2019

There is no need to launch the script in recovery mode.
You can just mount "/" partition in read-write mode with :

sudo mount -uw /
@pwnsdx

This comment has been minimized.

Copy link
Owner Author

pwnsdx commented Oct 26, 2019

There is no need to launch the script in recovery mode.
You can just mount "/" partition in read-write mode with :

sudo mount -uw /

@stephanepiriou Yes but it only works if you disable SIP as well, which is inconvenient and requires to go in Recovery Mode anyway.

@pwnsdx Another suggestion /System/Library/LaunchAgents/com.apple.UsageTrackingAgent.plist and /System/Library/LaunchAgents/com.apple.ScreenTimeAgent.plist both related to ScreenTime.

Thanks @b0gdanw! I will add them now.

@go4m

This comment has been minimized.

Copy link

go4m commented Nov 9, 2019

Hello, guys .. Can someone help me, after trying to disable agent on iMac 2013 - 27``now imac booting in firmware pasword screen all time, I have been trying all aption to boot in recovery, or save mode, .... get same picture with password, what i not remember, to call apple not option because buy from ebay.
Some weeks ago before ubdating to Clean Catalina, from USB, it come up also that firmware passw. but CMD+R, was working. And I can boot imac in rcovery mode. But not anymore :(
Please help me..

@pwnsdx

This comment has been minimized.

Copy link
Owner Author

pwnsdx commented Nov 9, 2019

Hello, guys .. Can someone help me, after trying to disable agent on iMac 2013 - 27``now imac booting in firmware pasword screen all time, I have been trying all aption to boot in recovery, or save mode, .... get same picture with password, what i not remember, to call apple not option because buy from ebay.
Some weeks ago before ubdating to Clean Catalina, from USB, it come up also that firmware passw. but CMD+R, was working. And I can boot imac in rcovery mode. But not anymore :(
Please help me..

@go4m Sounds like the seller forgot to remove his EFI password. If you can't contact the guy to ask go to an Apple Store with the invoice (both original and ebay) they can technically do it though they may not want. If you don't have none of these, I don't know any current way of flashing the EFI for these iMacs so… I'm sorry but I will have to say that your Mac's pretty much a brick now. You can of course always with this model get the hard drive out of it in order to recover your data.

@xube

This comment has been minimized.

Copy link

xube commented Nov 21, 2019

Great one! I was looking for solution like this, because lets be hones - there is bunch of useless processes that uses enormous RAM and CPU. What is worst - nobody really knows what they have been done nor are doing. For me almost everything is working, just found one issue - somehow Music App use entire CPU when i disable all services. I could skip using this App, but because i have iPad, sometimes i need to sync music across devices. So i temporarely enabled all services and Music App started behave normal. I cant say which one is responsible. Maybe something related to iCloud? If someone knows, please let me know. Thanks.

@blakeperdue

This comment has been minimized.

Copy link

blakeperdue commented Nov 24, 2019

@pwnsdx I can't thank you enough, this is exactly what I was looking for to disable all the services I don't need, use, or want on my system. Also thanks for updating it to include Catalina! 💯 🥇 😃

@b0gdanw

This comment has been minimized.

Copy link

b0gdanw commented Nov 25, 2019

Just a note: disabling com.apple.ManagedClient.enroll, com.apple.ManagedClient and com.apple.ManagedClient.startup prevents installation of mobileconfig profiles.

@mtunjic

This comment has been minimized.

Copy link

mtunjic commented Nov 28, 2019

@pwnsdx suggestion

iCloud

com.apple.iCloudUserNotificationsd

iMedia

com.apple.AMPArtworkAgent
AMPArtworkAgent -- The artwork agent for Music.app, TV.app, and iOS/iPod device syncing

Safari

com.apple.webinspectord
webinspectord relays commands between Web Inspector and targets that it can remotely inspect, such as WKWebView and JSContext instances.

com.apple.SafariPlugInUpdateNotifier

Siri

com.apple.siri-distributed-evaluation
com.apple.siri.context.service

Others

com.apple.facebook.xpc
com.apple.linkedin.xpc
com.apple.podcasts.PodcastContentService
com.apple.twitter.xpc
com.apple.EscrowSecurityAlert

com.apple.routined
routined -- A daemon that learns the historical location patterns of a user.
routined is a per-user daemon that learns historical location patterns of a user and predicts future visits to locations.

com.apple.icdd
icdd -- ImageCapture Discovery Daemon
icdd is a system daemon responsible for matching devices containing images with the appropriate driver modules.

com.apple.progressd
progressd is the ClassKit sync agent. It handles syncing classes, class members, student handouts and progress data between student and teacher man-aged Apple ID accounts.

com.apple.contacts.donation-agent wtf?

@blakeperdue

This comment has been minimized.

Copy link

blakeperdue commented Nov 28, 2019

Thanks @mtunjic . One of the agents/daemons in the original list is preventing Calendar app from connecting to Google to sync my Google calendar with the Mac Calendar app. I haven't pinpointed which one yet, but am experimenting turning on/off suspected items to see if I can find it.

@mtunjic

This comment has been minimized.

Copy link

mtunjic commented Nov 28, 2019

@blakeperdue

This comment has been minimized.

Copy link

blakeperdue commented Nov 28, 2019

Thanks @mtunjic ... I would add that @pwnsdx has made it super easy to undo these changes, which has been great. It's super easy to restore services, so thanks for that. I've been individually adding things back to see if it fixes my issue. The only two issues I have remaining are below. I should note I customized pwnsdx's list a bit for my need (for example, I need VoiceOver to test accessibility in our web apps).

Remaining issues:

  • Calendar app won't sync with Google servers
  • Chrome/other apps can't seem to launch finder. For example, when you download a file in Chrome and select "View in Finder" nothing happens.
@mtunjic

This comment has been minimized.

Copy link

mtunjic commented Nov 28, 2019

@sschat

This comment has been minimized.

Copy link

sschat commented Nov 29, 2019

Can someone help me with the following:

where do i copy this file to, so i can use it while in Recovery Mode?

I moved it to /etc/<dir>/<scripts>

but once in Recovery mode, that directory does not exist. And the whole system looks like a cut-down version of the whole.

So, what location would be good to store it, and would be accessible to run it in Recovery?

@mtunjic

This comment has been minimized.

Copy link

mtunjic commented Nov 29, 2019

Can someone help me with the following:

where do i copy this file to, so i can use it while in Recovery Mode?

I moved it to /etc/<dir>/<scripts>

but once in Recovery mode, that directory does not exist. And the whole system looks like a cut-down version of the whole.

So, what location would be good to store it, and would be accessible to run it in Recovery?

@sschat just run from your system root partition

mount -uw /
cd /Volumes/NameOfYourInstallPartition
sh Users/yourname/… path to script

IMG_1587

@sschat

This comment has been minimized.

Copy link

sschat commented Nov 29, 2019

thanks for the reply!

i went in again, but i just cant see the "Users" folder.
in "/Volumes/" i only see maOS Base System.
And that one does not have Users in it.

Can this be due to Catalina?(10.15.2)

IMG_2718

@pwnsdx

This comment has been minimized.

Copy link
Owner Author

pwnsdx commented Nov 29, 2019

Yes you need to mount the user partition in the disk utility

@sschat

This comment has been minimized.

Copy link

sschat commented Nov 29, 2019

Yes you need to mount the user partition in the disk utility

YES! that was the brainfart here.

thanks!

@blakeperdue

This comment has been minimized.

Copy link

blakeperdue commented Nov 29, 2019

And if you have APFS encryption turned on, you'll need to run diskutil apfs unlock "Macintosh HD" and it'll ask your passphrase to unlock your encrypted APFS volume.

@harmonk

This comment has been minimized.

Copy link

harmonk commented Dec 2, 2019

This is wonderful. Thank you!

@mtunjic

This comment has been minimized.

Copy link

mtunjic commented Dec 10, 2019

Great one! I was looking for solution like this, because lets be hones - there is bunch of useless processes that uses enormous RAM and CPU. What is worst - nobody really knows what they have been done nor are doing. For me almost everything is working, just found one issue - somehow Music App use entire CPU when i disable all services. I could skip using this App, but because i have iPad, sometimes i need to sync music across devices. So i temporarely enabled all services and Music App started behave normal. I cant say which one is responsible. Maybe something related to iCloud? If someone knows, please let me know. Thanks.

@xube if you use Music app this services needs to be enabled for Music (iTunes) to work properly.
Otherwise, it will "melt" your CPU

iTunes

TOENABLE+=('com.apple.AOSPushRelay'
'com.apple.AOSHeartbeat'
'com.apple.AMPArtworkAgent')

@ballo

This comment has been minimized.

Copy link

ballo commented Dec 31, 2019

I'm subbing hoping someone releases a script that disables the agents (nicely) rather than deleting plists which could easily come back and do weird shit.

Until then, I'll use LaunchControl to disable these agents

@ballo

This comment has been minimized.

Copy link

ballo commented Dec 31, 2019

WTF is remindd? The man page is hilarious

@blakeperdue

This comment has been minimized.

Copy link

blakeperdue commented Jan 1, 2020

@ballo LaunchControl looks really nice, but you still need a solid list of what you can disable. Does LaunchControl provide any guides, similar to what pwnsdx put together here of what you can safely disable depending on your needs?

@ballo

This comment has been minimized.

Copy link

ballo commented Jan 1, 2020

Um, I basically took this list and added/removed some stuff. For example I added com.apple.accessibility.AXVisualSupportAgent so I could ctrl-zoom again, and removed amsaccountsd which I didn't need.

What we really need is a go-to site for identifying WTF all these deamons do since everyone needs a customized list. A lot (most?) are missing man files.

@Wyvern

This comment has been minimized.

Copy link

Wyvern commented Jan 10, 2020

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.systemstats.daily.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.systemstats.analysis.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.systemstats.microstackshot_periodic.plist

to disable periodical sysstats generation .

@b0gdanw

This comment has been minimized.

Copy link

b0gdanw commented Jan 14, 2020

@pwnsdx The system.log shows this kind of messages at every boot
Jan 14 05:28:21 localhost com.apple.xpc.launchd[1] (com.apple.xpc.launchd.domain.user.0): Failed to bootstrap path: path = /System/Library/LaunchAgents/com.apple.icloud.searchpartyuseragent.plist.bak, error = 108: Invalid path

@x8x

This comment has been minimized.

Copy link

x8x commented Jan 20, 2020

First, I'd like to thank @pwnsdx for this!

Regarding Music.app high CPU from @mtunjic suggested items to leave enabled:
/System/Library/LaunchAgents/com.apple.AOSPushRelay.plist
/System/Library/LaunchAgents/com.apple.AOSHeartbeat.plist

Had to leave these enabled as well (didn't check if both are required):
/System/Library/LaunchAgents/com.apple.mediaremoteagent.plist
/System/Library/LaunchDaemons/com.apple.mediaremoted.plist

No more high CPU!

@Picallo-svg

This comment has been minimized.

Copy link

Picallo-svg commented Jan 24, 2020

It's amazing script! Thanks @pwnsdx for this!

@Picallo-svg

This comment has been minimized.

Copy link

Picallo-svg commented Jan 24, 2020

@pwnsdx May be you can write the same scrypt, that enables apple sandbox for apps which was downloaded not from appstore.
By default only appstore apps rans in sandbox (in Catalina). If you want to do this, i can send all info about this, what i found in google (to save your time).

Thank you!

@nuche

This comment has been minimized.

Copy link

nuche commented Feb 2, 2020

@pwnsdx what do you think about adding a comment per line or in the header (or footer) to explain in more detail what each service line item for disablement is? I'd be happy to help add this if you're interested.

@blakeperdue

This comment has been minimized.

Copy link

blakeperdue commented Feb 3, 2020

@nuche That's a great idea! I would love that and would also volunteer to help. Do you want to create a new gist that we can add comments to then pwnsdx could use that to update his gist here?

@nuche

This comment has been minimized.

Copy link

nuche commented Feb 3, 2020

@blakeperdue you're welcome to create it and kickstart the effort. I'm a bit tied down with some things right now to assume it as a kind of personal project, but I'd be happy to collaborate!

One other thing I think would be helpful would be to isolate XPC service or what items in this list are XPC since we frequently have so many messages that are obfuscated behind this little wall and it might be nice to simply be able to disable some of these things as a sanity check.

One more thing I really would love to see is to not have to edit TWO lists. I think we should have a single script that "just works"® and then a config file that we just feed entries in with comments. That would make this commenting and documentation process SO much simpler!!!!!

@nuche

This comment has been minimized.

Copy link

nuche commented Feb 9, 2020

It may be important to note which service controls system logging. While playing around with these I believe com.apple.diagnosticd (which you DO NOT disable or mention) might enable and disable general system logging.

@igimanaloto

This comment has been minimized.

Copy link

igimanaloto commented Feb 17, 2020

Thanks for the script!
I use multiple languages in my machine (e.g. Japanese). Disabling 'com.apple.imklaunchagent' broke that. Just a heads up!

@sqowlz

This comment has been minimized.

Copy link

sqowlz commented Mar 27, 2020

Issue with line 25 - the name is actually "com.apple.cloudphotosd" (add an S to photos)

Added LaunchAgents:

com.apple.keyboardservicesd
com.apple.AddressBook.SourceSync
com.apple.telephonyutilities.callservicesd
com.apple.mobileassetd
com.apple.CalendarAgent
com.apple.knowledge-agent

Added LaunchDaemon:

com.apple.icloud.findmydeviced

Considering removing:

com.apple.akd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.