Réponses:
Désactivez le LaunchAgent (pas LaunchDaemons) et redémarrez votre machine ( sans sudo):
$ launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist
Si vous souhaitez le réactiver à un moment donné:
$ launchctl load /System/Library/LaunchAgents/com.apple.gamed.plist
sudo
launchctl list
?
Une solution consiste à créer un script bash pour arrêter le service de jeu après votre connexion. Utilisez Automator sous OS X pour créer un script bash, puis ajoutez-le comme élément de connexion à votre compte OS X. La prochaine fois que vous vous connectez, vous devriez recevoir une invite pour exécuter le script. Normalement, j'attends jusqu'à ce que je vois une alerte de Little Snitch qui a joué au téléphone, puis je clique sur «Continuer» pour exécuter le script. Cela n'a pas été perfectionné et vous pouvez rencontrer des problèmes si vous l'exécutez immédiatement après vous être connecté à OS X. Je préfère rester à l'écart des solutions qui désactivent le service car celles-ci nécessitent la désactivation / la substitution de SIP, ce que je déconseille.
Voici le script bash que j'utilise. Toutes suggestions pour l'améliorer sont les bienvenues.
#!/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
Le problème est que la réponse acceptée donnée ci-dessus:
launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist
ne fonctionne plus. Je l'ai également vu utiliser le -w
drapeau. En tout cas, dans les dernières mises à jour, je pense autour d'El Capitan ou de Yosemite, vous obtenez plutôt un message
Fonctionnement non autorisé lorsque la protection de l'intégrité du système est activée
La protection de l'intégrité du système est également connue sous l'acronyme SIP. Pour le désactiver, vous devez démarrer dans le système d'exploitation de récupération et exécuter csrutil disable
.
J'ai fait cette séquence dans les versions précédentes et cela a permis de désactiver le jeu via la launchctl
commande.
Je suppose qu'après avoir désactivé le jeu, on pourrait réactiver SIP. Ce serait peut-être le meilleur des deux mondes, bien que ce soit un processus fastidieux dans l'ensemble.
qu'en est-il sudo launchctl unload /System/Library/Launch\ Daemons/com.apple.gamed.plist
?
sur OS Sierra, allez dans Paramètres système, Comptes Internet et supprimez (avec le moins) le Game Center dans la liste (côté gauche).
Cela fait peu ou pas de différence du point de vue de la sécurité car il rétablit simplement un système exactement comme il fonctionnait avant SIP, et exactement comment presque tous les systèmes Unix fonctionnent toujours. La valeur de SIP est au mieux discutable. Il répond à la question car le seul moyen d'utiliser la commande Launchctl pour décharger le fichier plist gamed est de désactiver d'abord SIP, de démarrer, de décharger le fichier plist, puis, si vous le souhaitez, de réactiver SIP.
Une autre option qui fonctionne sur 10.11.6 est une variation de la méthode suggérée par @ Le-Sci. Créez un script shell qui désactive le processus joué:
#!/bin/bash
sleep 30 && kill -9 "$(pgrep gamed)"
La commande sleep indique ici au script d'attendre 30 secondes avant de démarrer le processus de sortie de gamed, pour donner au système suffisamment de temps pour avoir chargé gamed avant d'essayer de le terminer; vous pouvez ajuster le temps d'attente si nécessaire. La commande "kill -9" force à quitter le processus que vous demandez, mais elle n'accepte qu'un numéro d'ID de processus, pas un nom de processus, donc "pgrep" est utilisé pour rechercher l'ID de processus. Prenez note de l'endroit où vous enregistrez le script (pour cet exemple, je l'enregistrerai comme "forceQuitGamed" dans / Users / myaccountname /).
Accordez au script la permission d'exécution:
sudo chmod +x ~/forceQuitGamed
Créez un fichier plist d'agent de lancement qui s'exécutera à chaque connexion à votre compte. Si vous n'avez pas créé de fichier plist auparavant, vous pouvez le faire avec TextEdit. Le fichier de script doit être enregistré en texte brut.Par conséquent, si vos préférences par défaut pour TextEdit appellent au formatage RTF, exécutez une commande Format> Créer du texte brut pour convertir en texte brut avant d'essayer d'utiliser le nouveau fichier plist de l'agent de lancement.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.myaccountname.loginscript</string>
<key>ProgramArguments</key>
<array>
<string>/Users/myaccountname/forceQuitGamed</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
La chaîne dans le tableau sous "ProgramArguments" est le script path / to / your / shell. Enregistrez le fichier dans ~ / Library / LaunchAgents /. Dans cet exemple, j'ai nommé le fichier plist com.myaccountname.forceQuitGamed.plist, donc il se trouve à l'adresse
/Users/myaccountname/Library/LaunchAgents/com.myaccountname.forceQuitGamed.plist
Maintenant, chaque fois que vous vous connectez à votre compte, le jeu doit être forcé à quitter quelques secondes après son chargement. (Si vous avez besoin qu'il soit interrompu dès que possible après son chargement, consultez la méthode de @ Le-Sci.) Cette approche fonctionne sans avoir à désactiver la protection de l'intégrité du système.
Vous devez d'abord entrer csrutil disable
dans le terminal en mode de récupération, puis redémarrer apporter des modifications, redémarrer à nouveau en mode de récupération et csrutil enable
redémarrer.
Mais je ne sais pas quels processus, une fois modifiés, compromettront le démarrage dans El Capitan