Wie deaktiviere ich den Game Center-Prozess (Spiel) unter OS X 10.11 El Capitan?

10

Es scheint, dass ich die Plist-Datei von LaunchAgents nicht bearbeiten kann - selbst wenn ich sudo bin, kann ich keine Löschungen / Änderungen vornehmen. Muss ich dazu unbedingt SIP deaktivieren?

jrgd
quelle
Hast du es versucht und gesehen, was passiert?
Tetsujin

Antworten:

16

Deaktivieren Sie den LaunchAgent (nicht LaunchDaemons) und starten Sie Ihren Computer neu ( ohne sudo):

$ launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist

Falls Sie es an einer Stelle wieder aktivieren möchten:

$ launchctl load /System/Library/LaunchAgents/com.apple.gamed.plist
frdmn
quelle
1
Es heißt: /System/Library/LaunchAgents/com.apple.gamed.plist: Der angegebene Dienst konnte nicht gefunden werden. Ich bin am 10.11.2; danke für den Vorschlag!
jrgd
Ich habe es gerade auf meinem Computer ausprobiert und es hat gut funktioniert. Gleiches Betriebssystem (10.11.2). Haben Sie den Befehl aus meiner Antwort kopiert und eingefügt? Bearbeiten: stellen Sie sicher, nicht zu verwendensudo
frdmn
Ja, ich habe es getan. Überprüfen Sie auch das Verzeichnis und die Plist-Datei ist dort ... haben Sie SIP / rootless in der Vergangenheit zufällig entfernt?
jrgd
Nein, ich habe nicht: paste.frd.mn/loyon - Sehen Sie den Dienst in launchctl list?
Freitag,
1
Gern geschehen!
Freitag,
9

Nach diesem Thread können Sie tun:

defaults write com.apple.gamed Disabled -bool true

Und um den aktuellen Status des Daemons zu überprüfen, verwenden Sie:

defaults read com.apple.gamed Disabled
ccpizza
quelle
2

Eine Lösung besteht darin, ein Bash-Skript zu erstellen, um den Spieledienst nach der Anmeldung zu stoppen. Verwenden Sie Automator in OS X, um ein Bash-Skript zu erstellen, und fügen Sie es dann als Anmeldeelement zu Ihrem OS X-Konto hinzu. Wenn Sie sich das nächste Mal anmelden, sollten Sie aufgefordert werden, das Skript auszuführen. Normalerweise warte ich, bis ich eine Warnung von Little Snitch sehe, dass das Spiel nach Hause telefoniert, und klicke dann auf "Weiter", um das Skript auszuführen. Dies wurde nicht perfektioniert, und es kann zu Problemen kommen, wenn Sie es unmittelbar nach der Anmeldung bei OS X ausführen. Ich halte mich lieber von den Lösungen fern, die den Dienst deaktivieren, da diese das Deaktivieren / Überschreiben von SIP erfordern, von dem ich abraten möchte.

Hier ist das Bash-Skript, das ich verwende. Vorschläge zur Verbesserung sind willkommen.

    #!/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 Sci
quelle
2

Das Problem ist, dass die oben angegebene akzeptierte Antwort:

launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist

funktioniert nicht mehr. Ich habe es auch mit der -wFlagge gesehen. In den letzten Updates denke ich jedenfalls, dass Sie bei El Capitan oder Yosemite stattdessen eine Nachricht erhalten

Betrieb nicht zulässig, solange der Systemintegritätsschutz aktiviert ist

Der Systemintegritätsschutz ist auch unter dem Akronym SIP bekannt. Um es zu deaktivieren, müssen Sie das Wiederherstellungsbetriebssystem starten und ausführen csrutil disable.

Ich habe diese Sequenz in früheren Versionen durchgeführt und sie hat dazu geführt, dass das Spiel über den launchctlBefehl deaktiviert werden konnte .

Ich nehme an, dass man SIP nach dem Deaktivieren des Spiels wieder aktivieren kann. Vielleicht wäre das das Beste aus beiden Welten, obwohl es insgesamt ein langwieriger Prozess ist.

Jeffrey Simon
quelle
0

was ist mit sudo launchctl unload /System/Library/Launch\ Daemons/com.apple.gamed.plist?

PEM8000
quelle
/ System / Library / Launch Daemons / com.apple.gamed.plist: Keine solche Datei oder Verzeichnis --- Ich bin am 10.11.2 (danke für den Vorschlag)
jrgd
Mein schlechtes, es ist ein LaunchAgent: sudo launchctl entladen / System / Library / Launch \ Agents / com.apple.gamed.plist
PEM8000
Vielen Dank; Das Verzeichnis auf meinem Computer lautet LaunchAgents. Als ich den richtigen Pfad benutzte, bekam ich einen "Konnte den angegebenen Dienst nicht finden", der mich traurig macht
jrgd
0

Gehen Sie unter OS Sierra zu Systemeinstellungen, Internetkonten und löschen Sie (mit dem Minus) das Game Center in der Liste (linke Seite).

Marlon Shanhai
quelle
Dadurch wird nur das Game Center-Konto gelöscht und der Spielprozess nicht deaktiviert. Diese Frage bezieht sich auch auf El Capitan und nicht auf Sierra. Bitte sehen wie man Antwort für Tipps, wie man gute Antworten auf Fragen geben. - Von der Überprüfung
fsb
0

Unter Sicherheitsgesichtspunkten macht dies kaum einen Unterschied, da ein System einfach auf genau das zurückgesetzt wird, was vor SIP funktioniert hat und wie fast alle Unix-Systeme noch funktionieren. Der Wert von SIP ist bestenfalls umstritten. Es wird die Frage beantwortet, da die einzige Möglichkeit, den Befehl Launchctl zum Entladen der Gamed-Plist-Datei zu verwenden, darin besteht, zuerst SIP zu deaktivieren, zu starten, die Plist-Datei zu entladen und dann, falls gewünscht, SIP erneut zu aktivieren.

Mark Choi
quelle
0

Eine weitere Option, die unter 10.11.6 funktioniert, ist eine Variation der von @ Le-Sci vorgeschlagenen Methode. Erstellen Sie ein Shell-Skript, das den Spielprozess deaktiviert:

#!/bin/bash
sleep 30 && kill -9 "$(pgrep gamed)"

Der Befehl sleep hier weist das Skript an, 30 Sekunden zu warten, bevor mit dem Beenden des Spiels begonnen wird, damit das System genügend Zeit hat, um das Spiel zu laden, bevor versucht wird, es zu beenden. Sie können die Wartezeit nach Bedarf anpassen. Der Befehl "kill -9" beendet den von Ihnen angeforderten Prozess, akzeptiert jedoch nur eine Prozess-ID-Nummer, keinen Prozessnamen. Daher wird "pgrep" zum Nachschlagen der Prozess-ID verwendet. Notieren Sie sich, wo Sie das Skript speichern (in diesem Beispiel speichere ich es als "forceQuitGamed" in / Users / myaccountname /).

Geben Sie die Berechtigung zur Skriptausführung:

sudo chmod +x ~/forceQuitGamed

Erstellen Sie eine Plist-Datei für den Startagenten, die jedes Mal ausgeführt wird, wenn Sie sich bei Ihrem Konto anmelden. Wenn Sie zuvor noch keine Plist-Datei erstellt haben, können Sie dies unter anderem mit TextEdit tun. Die Skriptdatei muss im Nur-Text-Format gespeichert werden. Wenn Ihre Standardeinstellungen für TextEdit die Rich-Text-Formatierung erfordern, führen Sie den Befehl Format> Nur-Text erstellen aus, um sie in Nur-Text zu konvertieren, bevor Sie versuchen, die neue Plist-Datei des Startagenten zu verwenden.

<?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>

Die Zeichenfolge im Array unter "ProgramArguments" ist der Pfad / zu / Ihrem / Shell-Skript. Speichern Sie die Datei unter ~ / Library / LaunchAgents /. In diesem Beispiel habe ich die plist-Datei com.myaccountname.forceQuitGamed.plist benannt, sodass sie unter gefunden wird

/Users/myaccountname/Library/LaunchAgents/com.myaccountname.forceQuitGamed.plist

Jedes Mal, wenn Sie sich bei Ihrem Konto anmelden, sollte das Spiel nur wenige Sekunden nach dem Laden zwangsweise beendet werden. (Wenn es nach dem Laden so schnell wie möglich beendet werden muss, sehen Sie sich die Methode von @ Le-Sci an.) Dieser Ansatz funktioniert, ohne dass der Systemintegritätsschutz deaktiviert werden muss.

Cam U.
quelle
-4

Sie müssen csrutil disableim Wiederherstellungsmodus zuerst in Terminal eintreten , dann Änderungen neu starten, Änderungen vornehmen, im Wiederherstellungsmodus erneut starten und csrutil enableneu starten.

Ich weiß jedoch nicht, welche Prozesse bei einer Änderung den Start in El Capitan beeinträchtigen

user169708
quelle
Dies aktiviert die Root-Anmeldung. Was hat das mit Spielen zu tun?
Unbenannt_1
Dies ist aus Sicherheitsgründen eine wirklich sehr, sehr schlechte Idee und geht nicht auf die Frage ein.
Ruief