Respostas:
Desative o LaunchAgent (não o LaunchDaemons) e reinicie sua máquina ( sem o sudo):
$ launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist
Caso deseje ativá-lo novamente em um ponto:
$ launchctl load /System/Library/LaunchAgents/com.apple.gamed.plist
sudo
launchctl list
?
Uma solução é criar um script bash para interromper o serviço de jogo após o login. Use o Automator no OS X para criar um script bash e adicione-o como um Item de logon à sua conta do OS X. Na próxima vez que você fizer login, você receberá uma solicitação para executar o script. Normalmente, espero até ver um alerta do Little Snitch que jogou telefonando para casa e clico em 'Continuar' para executar o script. Isso não foi aperfeiçoado e você poderá encontrar problemas se executá-lo imediatamente após o login no OS X. Prefiro ficar longe das soluções que desabilitam o serviço, pois exigem desabilitar / substituir o SIP que eu aconselho.
Aqui está o script bash que eu uso. Todas as sugestões para melhorá-lo são bem-vindas.
#!/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
O problema é que a resposta aceita dada acima:
launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist
não funciona mais. Eu também vi isso usando a -w
bandeira. De qualquer forma, nas atualizações recentes, penso em El Capitan ou Yosemite, você recebe uma mensagem
Operação não permitida enquanto o System Integrity Protection está ativado
A proteção de integridade do sistema também é conhecida pelo acrônimo SIP. Para desativá-lo, você precisa inicializar no Recovery OS e executar csrutil disable
.
Eu fiz essa sequência em versões anteriores e isso levou a conseguir desativar o gamed por meio do launchctl
comando.
Suponho que, depois que o gamed seja desativado, é possível reativar o SIP. Talvez esse seja o melhor dos dois mundos, embora seja um processo tedioso, no geral.
que tal sudo launchctl unload /System/Library/Launch\ Daemons/com.apple.gamed.plist
?
no OS Sierra, vá para Configurações do sistema, Contas da Internet e exclua (com menos) o Game Center na lista (lado esquerdo).
Isso faz pouca ou nenhuma diferença do ponto de vista de segurança, uma vez que simplesmente reverte um sistema exatamente como ele trabalhou antes do SIP, e exatamente como quase todos os sistemas Unix ainda funcionam. O valor do SIP é, na melhor das hipóteses, discutível. Ele aborda a questão porque a única maneira de usar o comando Launchctl para descarregar o arquivo gamed plist é primeiro desativar o SIP, inicializar, descarregar o arquivo plist e, se desejado, reativar o SIP.
Outra opção que funciona no 10.11.6 é uma variação do método sugerido pelo @ Le-Sci. Crie um script de shell que desative o processo em escala:
#!/bin/bash
sleep 30 && kill -9 "$(pgrep gamed)"
O comando sleep aqui diz ao script para aguardar 30 segundos antes de iniciar o processo de saída de gamed, para dar ao sistema tempo suficiente para carregar o gamed antes de tentar finalizá-lo; você pode ajustar a quantidade de tempo para esperar, conforme necessário. O comando "kill -9" encerra o processo que você solicita, mas aceita apenas um número de identificação do processo, não um nome do processo, portanto "pgrep" é usado para procurar a identificação do processo. Anote onde você salvou o script (neste exemplo, eu o salvarei como "forceQuitGamed" em / Users / myaccountname /).
Conceda permissão de execução do script:
sudo chmod +x ~/forceQuitGamed
Crie um arquivo plist do agente de inicialização que será executado sempre que você fizer login na sua conta. Se você não criou um arquivo plist antes, uma maneira de fazer isso é com o TextEdit. O arquivo de script deve ser salvo em texto sem formatação; portanto, se suas preferências padrão para o TextEdit exigirem formatação Rich Text, execute um comando Formatar> Criar texto sem formatação para converter em texto sem formatação antes de tentar usar o novo arquivo plist do agente de ativação.
<?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>
A cadeia de caracteres na matriz em "ProgramArguments" é o caminho / para / seu / script de shell. Salve o arquivo em ~ / Library / LaunchAgents /. Neste exemplo, nomeei o arquivo plist com.myaccountname.forceQuitGamed.plist, para que ele seja encontrado em
/Users/myaccountname/Library/LaunchAgents/com.myaccountname.forceQuitGamed.plist
Agora, toda vez que você fizer login na sua conta, o jogo deve ser encerrado à força apenas alguns segundos após o carregamento. (Se você precisar finalizar o mais rápido possível após o carregamento, consulte o método do @ Le-Sci.) Essa abordagem funciona sem a necessidade de desativar a Proteção de Integridade do Sistema.
Você precisa primeiro entrar csrutil disable
no Terminal quando estiver no Modo de Recuperação, depois reiniciar, fazer alterações, reiniciar novamente no Modo de Recuperação e csrutil enable
reiniciar.
Mas não sei quais processos, quando modificados, comprometem a inicialização no El Capitan