Jawaban:
Nonaktifkan LaunchAgent (bukan LaunchDaemons) dan reboot mesin Anda ( tanpa sudo):
$ launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist
Jika Anda ingin mengaktifkannya lagi di satu titik:
$ launchctl load /System/Library/LaunchAgents/com.apple.gamed.plist
sudo
launchctl list
?
Salah satu solusinya adalah membuat skrip bash untuk menghentikan layanan gamed setelah Anda masuk. Gunakan Automator di OS X untuk membuat skrip bash kemudian tambahkan sebagai Item Masuk ke akun OS X Anda. Lain kali Anda masuk, Anda akan menerima konfirmasi untuk menjalankan skrip. Biasanya saya menunggu sampai saya melihat peringatan dari Little Snitch bahwa gamed menelepon ke rumah lalu saya klik 'Lanjutkan' untuk menjalankan skrip. Ini belum disempurnakan dan Anda mungkin mengalami masalah jika Anda menjalankannya segera setelah Anda masuk ke OS X. Saya lebih suka tinggal jauh dari solusi yang menonaktifkan layanan karena mereka memerlukan menonaktifkan / mengganti SIP yang saya sarankan tidak disarankan.
Inilah skrip bash yang saya gunakan. Setiap saran untuk memperbaikinya dipersilakan.
#!/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
Masalahnya adalah bahwa jawaban yang diterima diberikan di atas:
launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist
tidak lagi berfungsi. Saya juga melihatnya menggunakan -w
bendera. Bagaimanapun, dalam pembaruan terbaru, saya memikirkan El Capitan atau Yosemite, Anda malah mendapatkan pesan
Operasi tidak diizinkan saat Perlindungan Integritas Sistem digunakan
System Integrity Protection juga dikenal dengan singkatan SIP. Untuk menonaktifkannya, Anda harus boot ke OS Pemulihan dan menjalankan csrutil disable
.
Saya telah melakukan urutan ini dalam rilis sebelumnya dan itu menyebabkan saya dapat menonaktifkan gamed melalui launchctl
perintah.
Saya kira setelah gamed dinonaktifkan, seseorang dapat mengaktifkan kembali SIP. Mungkin itu akan menjadi yang terbaik dari kedua dunia, meskipun ini adalah proses yang membosankan.
bagaimana sudo launchctl unload /System/Library/Launch\ Daemons/com.apple.gamed.plist
?
pada OS Sierra pergi ke Pengaturan Sistem, Akun Internet dan hapus (dengan minus) Game Center pada daftar (sisi kiri).
Ini membuat sedikit atau tidak ada perbedaan dari sudut pandang keamanan karena hanya mengembalikan sistem kembali ke tepatnya bekerja sebelum SIP, dan persis bagaimana hampir semua sistem Unix masih bekerja. Nilai SIP bisa diperdebatkan. Ini menjawab pertanyaan karena satu-satunya cara untuk menggunakan perintah Launchctl untuk membongkar file plist gamed adalah dengan pertama-tama menonaktifkan SIP, boot, unload file plist, dan kemudian, jika diinginkan, SIP yang dapat diaktifkan kembali.
Opsi lain yang berfungsi pada 10.11.6 adalah variasi pada metode yang disarankan oleh @ Le-Sci. Buat skrip shell yang menonaktifkan proses gamed:
#!/bin/bash
sleep 30 && kill -9 "$(pgrep gamed)"
Perintah sleep di sini memberitahu script untuk menunggu 30 detik sebelum memulai proses berhenti gamed, untuk memberi sistem cukup waktu untuk memuat gamed sebelum mencoba menghentikannya; Anda dapat menyesuaikan jumlah waktu untuk menunggu seperlunya. Perintah "kill -9" memaksa keluar dari proses yang Anda minta, tetapi hanya menerima nomor proses id, bukan nama proses, jadi "pgrep" digunakan untuk mencari proses id. Catat di mana Anda menyimpan skrip (untuk contoh ini, saya akan menyimpannya sebagai "forceQuitGamed" di / Users / myaccountname /).
Berikan izin eksekusi skrip:
sudo chmod +x ~/forceQuitGamed
Buat file daftar agen peluncuran yang akan berjalan setiap kali Anda masuk ke akun Anda. Jika Anda belum pernah membuat file plist sebelumnya, salah satu cara Anda dapat melakukannya adalah dengan TextEdit. File skrip harus disimpan dalam teks biasa, jadi jika preferensi default Anda untuk panggilan TextEdit untuk pemformatan Teks Kaya, lakukan perintah Format> Make Plain Text untuk mengkonversi ke teks biasa sebelum mencoba menggunakan file plist agen peluncuran baru.
<?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>
String dalam array di bawah "ProgramArguments" adalah path / ke / your / script shell. Simpan file ke ~ / Library / LaunchAgents /. Dalam contoh ini, saya menamai file plist com.myaccountname.forceQuitGamed.plist, jadi itu ditemukan di
/Users/myaccountname/Library/LaunchAgents/com.myaccountname.forceQuitGamed.plist
Sekarang setiap kali Anda masuk ke akun Anda, gamed harus dihentikan secara paksa hanya beberapa detik setelah itu dimuat. (Jika Anda perlu dihentikan sesegera mungkin setelah dimuat, lihat metode @ Le-Sci.) Pendekatan ini berfungsi tanpa harus menonaktifkan Perlindungan Integritas Sistem.
Anda harus terlebih dahulu masuk csrutil disable
di Terminal ketika dalam Mode Pemulihan, kemudian mulai ulang melakukan perubahan, mulai lagi dalam Mode Pemulihan dan lakukan csrutil enable
, mulai ulang.
Tapi saya tidak tahu proses mana yang diubah akan membahayakan boot di El Capitan