Sembra che non possa modificare il file plist da LaunchAgents - anche se sudo, mi viene impedito qualsiasi cancellazione / alterazione. Devo necessariamente disabilitare SIP per farlo?
Disabilita LaunchAgent (non LaunchDaemons) e riavvia il computer ( senza sudo):
$ launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist
Nel caso in cui desideri riattivarlo nuovamente in un punto:
$ launchctl load /System/Library/LaunchAgents/com.apple.gamed.plist
Il problema è che la risposta accettata è stata data sopra:
launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist
non funziona più. L'ho visto anche utilizzando il flag -w
. In ogni caso, negli ultimi aggiornamenti, penso a El Capitan o Yosemite, invece ottieni un messaggio
Operation not permitted while System Integrity Protection is engaged
System Integrity Protection è anche conosciuto con l'acronimo SIP. Per disabilitarlo è necessario avviare il sistema operativo di ripristino ed eseguire csrutil disable
.
Ho fatto questa sequenza nelle versioni precedenti e ho portato alla possibilità di disabilitare il gioco tramite il comando launchctl
.
Suppongo che dopo il gioco sia disabilitato, si potrebbe riattivare SIP. Forse sarebbe il meglio di entrambi i mondi, anche se è un processo noioso tutto sommato.
Una soluzione è creare uno script bash per arrestare il servizio di gioco dopo aver effettuato l'accesso. Usa Automator in OS X per creare uno script bash, quindi aggiungilo come elemento di login al tuo account OS X. La prossima volta che effettui il login dovresti ricevere una richiesta per eseguire lo script. Normalmente aspetto di vedere un avviso da Little Snitch che sta giocando a casa, quindi faccio clic su "Continua" per eseguire lo script. Questo non è stato perfezionato e potresti riscontrare problemi se lo esegui subito dopo aver effettuato l'accesso a OS X. Preferisco stare lontano dalle soluzioni che disabilitano il servizio in quanto richiedono la disattivazione / sovrascrittura del SIP che sconsiglio.
Ecco lo script di bash che uso. Qualsiasi suggerimento su come migliorarlo è benvenuto.
#!/bin/bash
chkService=gamed
chkCount=10
chkStatus=$(ps ax | grep "$chkService" | grep -v grep | grep " T " | wc -l)
while [ $chkStatus -ne 1 ]; do
chkProcess=$(ps ax | grep -v grep | grep "$chkService" | wc -l)
if [ $chkProcess -ne 0 ];
then
KILLALL -STOP "$chkService"
chkCount=0
chkStatus=$(ps ax | grep gamed | grep -v grep | grep " T " | wc -l)
else
SLEEP=1
chkCount=$((chkCount-1))
fi
done
che dire di sudo launchctl unload /System/Library/Launch\ Daemons/com.apple.gamed.plist
?
su OS Sierra vai su Impostazioni di sistema, Account Internet ed elimina (con il segno meno) il Game Center nell'elenco (lato sinistro).
Questo fa poca o nessuna differenza dal punto di vista della sicurezza, poiché semplicemente ripristina un sistema esattamente come ho funzionato prima di SIP, e esattamente come quasi tutti i sistemi Unix funzionano ancora. Il valore di SIP è al massimo discutibile. Affronta la domanda perché il solo modo di utilizzare il comando Launchctl per scaricare il file plist gamed è innanzitutto disabilitare SIP, avviare, scaricare il file plist e, se lo si desidera, riattivare SIP.
Devi prima inserire csrutil disable
in Terminale quando sei in modalità di recupero, quindi riavvia le modifiche, riavvia di nuovo in modalità di ripristino e fai csrutil enable
, riavvia.
Ma non so quali processi modificati compromettano l'avvio in El Capitan
Leggi altre domande sui tag sip macos game-center