*** Warnung ***
Die Deaktivierung von Systemdiensten kann ein laufendes System unbrauchbar machen. Nachfolgende Diskussion bezieht sich auf Änderungen an Mojave 10.14.6 (18G1012) und ist nichts für Leute mit schwachen Nerven. Wer sich die "OP am offenen Herzen" des macOS nicht zutraut (oder der Meinung ist, dass man das nicht "machen darf"), hat mein vollstes Verständnis!
Überlegungen:
Viele Dienste des Betriebssystems berichten über die Nutzung, sammeln und speichern dabei reichlich Daten und geben sie auch weiter. Darüber hinaus dienen sie der Funktionalität bestimmter Leistungsmerkmale, die unter bestimmten Voraussetzungen nicht benötigt werden. Wenn beispielsweise die Kindersicherung, Game-Services, Bluetooth, Safari, iCloud, Telefonie, Facetime, Sprachsteuerung, Siri und Standort-Services nicht benutzt werden, kommt da einiges zusammen, was im Hintergrund in der Summe (speziell bei nicht besonders leistungssarker Hardware) fühlbar die Leistung reduziert und Speicherplatz beansprucht. Ich habe deshalb mal mit dem Tool "LaunchControl" (https://www.soma-zone.com/LaunchControl/) einige Dienste deaktiviert und kann berichten, dass die Performance danach spürbar gestiegen ist. Auch das Booten hat sich danach spürbar beschleunigt. Mojave fühlt sich dann auf einmal wieder an wie 10.9 (Mavericks). Wer hätte das für möglich gehalten!
Ausgangslage:
An verschiedenden Stellen finden sich zu diesem Thema Anleitungen und Scripts, die eine ähnliche Strategie verfolgen, jedoch unterschiedlich "rigoros" ausgelegt wurden. Ein extremes Beispiel ist hier unter dem bezeichnenden Namen "Disable bunch of #$!@ in Sierra (Version 2.1)" auf GitHub:
Für mich war das System danach unbrauchbar. Kalendersync, die wichtigsten Netzwerkdienste und viele andere wichtigen Funktionen waren danach einfach mal so eben weg. Eine moderate Version des Konzepts habe ich hier gefunden:
http://tech.masterofsql.com/os…-agents-daemons-os-x.html
Sehr schön sind die Erklärungen zu den Diensten!
Umsetzung:
Ich habe mir zuerst einmal die Inhalte der Verzeichnisse System -> Library -> LaunchAgents und System -> Library -> LaunchDaemons an einen sicheren Ort kopiert und dann mit LaunchControl angefangen, die Startdienste abzuspecken.
Hier sind die Änderungen in LaunchAgents:
com.apple.ap.adprivacyd.plist
com.apple.CallHistoryPluginHelper.plist
com.apple.CallHistorySyncHelper.plist
com.apple.cloudd.plist
com.apple.cloudpaird.plist
com.apple.cloudphotosd.plist
com.apple.corespeechd.plist
com.apple.DiagnosticReportCleanup.plist
com.apple.diagnostics_agent.plist
com.apple.familycircled.plist
com.apple.familycontrols.useragent.plist
com.apple.familynotificationd.plist
com.apple.gamed.plist
com.apple.icloud.findmydeviced.findmydevice-user-agent.plist
com.apple.icloud.fmfd.plist
com.apple.iCloudUserNotifications.plist
com.apple.mediaanalysisd.plist
com.apple.photoanalysisd.plist
com.apple.pluginkit.pkreporter.plist
com.apple.protectedcloudstorage.protectedcloudkeysyncing.plist
com.apple.ReportCrash.plist
com.apple.ReportCrash.Self.plist
com.apple.ReportGPURestart.plist
com.apple.ReportPanic.plist
com.apple.Safari.SafeBrowsing.Service.plist
com.apple.safaridavclient.plist
com.apple.security.cloudkeychainproxy3.plist
com.apple.Siri.agent.plist
com.apple.siriknowledged.plist
com.apple.SocialPushAgent.plist
com.apple.speech.speechdatainstallerd.plist
com.apple.speech.speechsynthesisd.plist
com.apple.speech.synthesisserver.plist
com.apple.spindump_agent.plist
com.apple.suggestd.plist
com.apple.sysdiagnose_agent.plist
com.apple.telephonyutilities.callservicesd.plist
Und das wurde in LaunchDaemons verändert:
com.apple.analyticsd.plist
com.apple.applessdstatistics.plist
com.apple.bluetoothReporter.plist
com.apple.bosreporter.plist
com.apple.CrashReporterSupportHelper.plist
com.apple.csrutil.report.plist
com.apple.diagnosticd.plist
com.apple.diagnosticextensions.osx.bluetooth.helper.plist
com.apple.diagnosticextensions.osx.getmobilityinfo.helper.plist
com.apple.diagnosticextensions.osx.spotlight.helper.plist
com.apple.diagnosticextensions.osx.timemachine.helper.plist
com.apple.diagnosticextensions.osx.wifi.helper.plist
com.apple.dprivacyd.plist
com.apple.familycontrols.plist
com.apple.GameController.gamecontrollerd.plist
com.apple.gkreport.plist
com.apple.icloud.findmydeviced.plist
com.apple.InstallerDiagnostics.installerdiagd.plist
com.apple.InstallerDiagnostics.installerdiagwatcher.plist
com.apple.ManagedClient.cloudconfigurationd.plist
com.apple.metadata.mds.spindump.plist
com.apple.NetBootClientStatus.plist
com.apple.noticeboard.state.plist
com.apple.osanalytics.osanalyticshelper.plist
com.apple.ProcessPanicReport.plist
com.apple.ReportCrash.Root.plist
com.apple.ReportCrash.Root.Self.plist
com.apple.ReportMemoryException.plist
com.apple.ReportPanicService.plist
com.apple.rtcreportingd.plist
com.apple.signpost.signpost_reporter.plist
com.apple.speech.speechsynthesisd.plist
com.apple.spindump.plist
com.apple.statd.notify.plist
com.apple.sysdiagnose_helper.plist
com.apple.sysdiagnose.plist
com.apple.systemstats.analysis.plist
com.apple.systemstats.daily.plist
com.apple.tailspind.plist
Wer Eier in der Hose hat, kann das ja mal ausprobieren, ich habe die entsprechenden .plists gezippt und angehängt, die erwähnte Software LauchControl ist also nicht zwingend notwendig. Eventuell finden sich ja weitere Dienste auf die verzichtet werden kann. Vielen Dank für eure konstruktiven Hinweise und natürlich auch Kritik, falls ich über das Ziel hinaus geschossen bin!