Skip to content

Instantly share code, notes, and snippets.

@b0gdanw
Last active December 27, 2024 08:53
Show Gist options
  • Save b0gdanw/812997a189f72f3953e0a1bb237f783d to your computer and use it in GitHub Desktop.
Save b0gdanw/812997a189f72f3953e0a1bb237f783d to your computer and use it in GitHub Desktop.
#!/bin/zsh
# WARNING! The script is meant to show how and what can be disabled. Don’t use it as it is, adapt it to your needs.
# Credit: Original idea and script disable.sh by pwnsdx https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3
# Disabling unwanted services on macOS Big Sur (11), macOS Monterey (12), macOS Ventura (13) and macOS Sonoma (14)
# Disabling SIP is required ("csrutil disable" from Terminal in Recovery)
# Modifications are written in /private/var/db/com.apple.xpc.launchd/ disabled.plist, disabled.501.plist
# To revert, delete /private/var/db/com.apple.xpc.launchd/ disabled.plist and disabled.501.plist and reboot; sudo rm -r /private/var/db/com.apple.xpc.launchd/*
# user
TODISABLE=()
TODISABLE+=('com.apple.accessibility.MotionTrackingAgent' \
'com.apple.AMPArtworkAgent' \
'com.apple.AMPDeviceDiscoveryAgent' \
'com.apple.AMPLibraryAgent' \
'com.apple.ap.adprivacyd' \
'com.apple.ap.promotedcontentd' \
'com.apple.assistant_service' \
'com.apple.assistantd' \
'com.apple.avconferenced' \
'com.apple.BiomeAgent' \
'com.apple.biomesyncd' \
'com.apple.calaccessd' \
'com.apple.CallHistoryPluginHelper' \
'com.apple.cloudd' \
'com.apple.cloudpaird' \
'com.apple.cloudphotod' \
'com.apple.CloudSettingsSyncAgent' \
'com.apple.CommCenter-osx' \
'com.apple.CoreLocationAgent' \
'com.apple.dataaccess.dataaccessd' \
'com.apple.ensemble' \
'com.apple.familycircled' \
'com.apple.familycontrols.useragent' \
'com.apple.familynotificationd' \
'com.apple.financed' \
'com.apple.followupd' \
'com.apple.gamed' \
'com.apple.geodMachServiceBridge' \
'com.apple.homed' \
'com.apple.icloud.fmfd' \
'com.apple.iCloudNotificationAgent' \
'com.apple.iCloudUserNotifications' \
'com.apple.icloud.searchpartyuseragent' \
'com.apple.imagent' \
'com.apple.imautomatichistorydeletionagent' \
'com.apple.imtransferagent' \
'com.apple.intelligenceplatformd' \
'com.apple.itunescloudd' \
'com.apple.knowledge-agent' \
'com.apple.ManagedClientAgent.enrollagent' \
'com.apple.Maps.pushdaemon' \
'com.apple.networkserviceproxy' \
'com.apple.networkserviceproxy-osx' \
'com.apple.mediastream.mstreamd' \
'com.apple.newsd' \
'com.apple.nsurlsessiond' \
'com.apple.parsec-fbf' \
'com.apple.parsecd' \
'com.apple.passd' \
'com.apple.photoanalysisd' \
'com.apple.photolibraryd' \
'com.apple.progressd' \
'com.apple.protectedcloudstorage.protectedcloudkeysyncing' \
'com.apple.quicklook' \
'com.apple.quicklook.ui.helper' \
'com.apple.quicklook.ThumbnailsAgent' \
'com.apple.rapportd-user' \
'com.apple.remindd' \
'com.apple.routined' \
'com.apple.screensharing.agent' \
'com.apple.screensharing.menuextra' \
'com.apple.screensharing.MessagesAgent' \
'com.apple.ScreenTimeAgent' \
'com.apple.security.cloudkeychainproxy3' \
'com.apple.sharingd' \
'com.apple.sidecar-hid-relay' \
'com.apple.sidecar-relay' \
'com.apple.Siri.agent' \
'com.apple.macos.studentd' \
'com.apple.siriknowledged' \
'com.apple.suggestd' \
'com.apple.tipsd' \
'com.apple.telephonyutilities.callservicesd' \
'com.apple.TMHelperAgent' \
'com.apple.triald' \
'com.apple.universalaccessd' \
'com.apple.UsageTrackingAgent' \
'com.apple.videosubscriptionsd' \
'com.apple.weatherd')
for agent in "${TODISABLE[@]}"
do
echo "${agent}"
launchctl bootout gui/501/${agent}
launchctl disable gui/501/${agent}
done
# system
TODISABLE=()
TODISABLE+=('com.apple.backupd' \
'com.apple.backupd-helper' \
'com.apple.biomed' \
'com.apple.biometrickitd' \
'com.apple.cloudd' \
'com.apple.coreduetd' \
'com.apple.dhcp6d' \
'com.apple.familycontrols' \
'com.apple.findmymac' \
'com.apple.findmymacmessenger' \
'com.apple.ftp-proxy' \
'com.apple.GameController.gamecontrollerd' \
'com.apple.icloud.findmydeviced' \
'com.apple.icloud.searchpartyd' \
'com.apple.locationd' \
'com.apple.ManagedClient.cloudconfigurationd' \
'com.apple.netbiosd' \
'com.apple.nsurlsessiond' \
'com.apple.rapportd' \
'com.apple.screensharing' \
'com.apple.siriinferenced' \
'com.apple.triald.system' \
'com.apple.wifianalyticsd')
for daemon in "${TODISABLE[@]}"
do
echo "${daemon}"
sudo launchctl bootout system/${daemon}
sudo launchctl disable system/${daemon}
done
@Zorak924
Copy link

Zorak924 commented Oct 16, 2023

Hey thanks for this it's way more faster just some little things i can't get access to newer e-mails on build-in app and discord wont launch and that's all. i'm gonna check what's wrong then. Ok so, i checked for that problem just re-enabled every network linked services such as DHCP, networkproxy's and that worked

@rbarrero
Copy link

rbarrero commented Feb 6, 2024

Hey there! Love the script, but I am getting errors from Sonoma: "Boot-out failed: 3: No such process" on many of the executions during the script... not clear which ones, since there's no output, but wanted to let you know. I still want to disable all of the bloat services I don't need so any help would be appreciated!

@b0gdanw
Copy link
Author

b0gdanw commented Feb 6, 2024

“Boot-out failed: 3: No such process” is returned if the process was not running when the script/bootout command was run. If you run the script a second time, all should return “Boot-out failed: 3: No such process”.
I’ve added echo "${agent}" and echo "${daemon}" before the launchctl bootout commands to see what agent/daemon is being processed.

@MirComputers
Copy link

Hey man, thanks for the support around the web! I just uploaded one of my lists on my repo, that i was working tonight on a Monterey 2012 macbook pro. Do you have any idea where Widgets like "WorldClockWidget" are spawned from? I can't find the related service

@b0gdanw
Copy link
Author

b0gdanw commented Jul 12, 2024

The only related mention I could find is "com.apple.notificationcenterui.widgetcontent" in /System/Library/LaunchAgents/com.apple.notificationcenterui.plist.
But widgets don’t start if they are removed from the Notification Centre.
https://support.apple.com/guide/mac-help/mchl52be5da5/12.0/mac/12.0

@MirComputers
Copy link

The only related mention I could find is "com.apple.notificationcenterui.widgetcontent" in /System/Library/LaunchAgents/com.apple.notificationcenterui.plist. But widgets don’t start if they are removed from the Notification Centre. https://support.apple.com/guide/mac-help/mchl52be5da5/12.0/mac/12.0

Oh, that was it, just remove them from the notification area! Thanks a lot

@foxmajik
Copy link

This looks like it would break a lot of things people buy macs specifically for.

A comment at each line explaining what is being disabled would go a long way to make this useful to a larger audience.

@b0gdanw
Copy link
Author

b0gdanw commented Sep 15, 2024

Stop posting chatgpt regurgitated garbage.
routined is “A daemon that learns the historical location patterns of a user.”

@490398290
Copy link

It'll be a version for Sequoia?
Thx.

@xtrmcdr
Copy link

xtrmcdr commented Nov 25, 2024

Can this be done on Sequoia?

@b0gdanw
Copy link
Author

b0gdanw commented Nov 25, 2024

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