Sepertinya saya tidak dapat mengedit file plist dari LaunchAgents - bahkan jika saya sudo, saya dicegah dari penghapusan / perubahan. Apakah saya harus menonaktifkan SIP untuk melakukan ini?
game-center
macos
sip
jrgd
sumber
sumber
Jawaban:
Nonaktifkan LaunchAgent (bukan LaunchDaemons) dan reboot mesin Anda ( tanpa sudo):
Jika Anda ingin mengaktifkannya lagi di satu titik:
sumber
sudo
launchctl list
?Menurut utas ini, Anda dapat melakukan:
Dan untuk memeriksa kondisi daemon saat ini, gunakan:
sumber
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.
sumber
Masalahnya adalah bahwa jawaban yang diterima diberikan di atas:
tidak lagi berfungsi. Saya juga melihatnya menggunakan
-w
bendera. Bagaimanapun, dalam pembaruan terbaru, saya memikirkan El Capitan atau Yosemite, Anda malah mendapatkan pesanSystem 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.
sumber
bagaimana
sudo launchctl unload /System/Library/Launch\ Daemons/com.apple.gamed.plist
?sumber
pada OS Sierra pergi ke Pengaturan Sistem, Akun Internet dan hapus (dengan minus) Game Center pada daftar (sisi kiri).
sumber
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.
sumber
Opsi lain yang berfungsi pada 10.11.6 adalah variasi pada metode yang disarankan oleh @ Le-Sci. Buat skrip shell yang menonaktifkan proses 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:
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.
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
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.
sumber
Anda harus terlebih dahulu masuk
csrutil disable
di Terminal ketika dalam Mode Pemulihan, kemudian mulai ulang melakukan perubahan, mulai lagi dalam Mode Pemulihan dan lakukancsrutil enable
, mulai ulang.Tapi saya tidak tahu proses mana yang diubah akan membahayakan boot di El Capitan
sumber