Yanıtlar:
LaunchAgent'ı (LaunchDaemons değil) devre dışı bırakın ve makinenizi ( sudo olmadan ) yeniden başlatın :
$ launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist
Bir noktada tekrar etkinleştirmek isterseniz:
$ launchctl load /System/Library/LaunchAgents/com.apple.gamed.plist
sudo
Bir çözüm, giriş yaptıktan sonra oyun servisini durdurmak için bir bash betiği oluşturmaktır. Bir bash betiği oluşturmak için OS X'te Automator kullanın ve ardından OS X hesabınıza Giriş Öğesi olarak ekleyin. Bir dahaki girişinizde komut dosyasını yürütmeniz için bir istem almanız gerekir. Normalde Little Snitch'ten oyunun eve telefon edeceğini belirten bir uyarı görene kadar beklerim ve betiği çalıştırmak için 'Devam Et'i tıklatırım. Bu mükemmel değildi ve OS X'e giriş yaptıktan hemen sonra çalıştırırsanız sorunlarla karşılaşabilirsiniz. Ben, önerdiğim SIP'yi devre dışı bırakma / geçersiz kılma gerektiren hizmetleri devre dışı bırakan çözümlerden uzak durmayı tercih ederim.
İşte kullandığım bash betiği. Geliştirilmesi için herhangi bir öneri bekliyoruz.
#!/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
Sorun, yukarıda verilen yanıtın:
launchctl unload /System/Library/LaunchAgents/com.apple.gamed.plist
Artık çalışmıyor. -w
Bayrağı kullanarak da gördüm . Her durumda, son güncellemelerde, El Capitan veya Yosemite'yi düşünüyorum, bunun yerine bir mesaj alıyorsunuz
Sistem Bütünlüğü Koruması devredeyken işleme izin verilmiyor
Sistem Bütünlüğü Koruması, SIP kısaltması tarafından da bilinir. Devre dışı bırakmak için Kurtarma İşletim Sistemine önyükleme yapmanız ve çalıştırmanız gerekir csrutil disable
.
Bu diziyi önceki sürümlerde yaptım ve launchctl
komutla oyun oynamayı devre dışı bırakabildim .
Oyun devre dışı bırakıldıktan sonra SIP'nin yeniden etkinleştirilebileceğini düşünüyorum. Belki de sıkıcı bir süreç olmasına rağmen, bu her iki dünyanın da en iyisi olabilir.
Ne hakkında sudo launchctl unload /System/Library/Launch\ Daemons/com.apple.gamed.plist
?
OS Sierra'da Sistem Ayarları, İnternet Hesapları'na gidin ve listedeki (sol taraf) Oyun Merkezi'ni (eksi ile) silin.
Bu, bir sistemi SIP'den önce tam olarak çalıştığına ve neredeyse tüm Unix sistemlerinin hala nasıl çalıştığına geri döndürdüğü için güvenlik açısından çok az fark yaratır. SIP değeri en iyi tartışmalıdır. Soruyu giderir, çünkü oyunlanan plist dosyasını kaldırmak için Launchctl komutunu kullanmanın tek yolu, önce SIP'yi devre dışı bırakmak, önyükleme yapmak, plist dosyasını boşaltmak ve ardından istenirse SIP'yi yeniden etkinleştirmektir.
10.11.6 üzerinde çalışan bir başka seçenek de @ Le-Sci tarafından önerilen yöntemin bir varyasyonudur. Oyun sürecini devre dışı bırakan bir kabuk komut dosyası oluşturun:
#!/bin/bash
sleep 30 && kill -9 "$(pgrep gamed)"
Buradaki uyku komutu, komut dosyasına, oyundan çıkma işlemine başlamadan önce 30 saniye beklemesini, sisteme sonlandırmaya çalışmadan önce oyun yükleyecek kadar zaman vermesini söyler; beklemek için gereken süreyi gerektiği gibi ayarlayabilirsiniz. "Kill -9" komutu, istediğiniz işlemden zorla çıkar, ancak işlem adını değil, yalnızca işlem kimlik numarasını kabul eder, bu nedenle işlem kimliğini aramak için "pgrep" kullanılır. Komut dosyasını kaydettiğiniz yeri not edin (bu örnek için, / Users / myaccountname / dizinine "forceQuitGamed" olarak kaydedeceğim).
Komut dosyasının yürütülmesine izin verin:
sudo chmod +x ~/forceQuitGamed
Hesabınıza her giriş yaptığınızda çalışacak bir başlatma aracısı plist dosyası oluşturun. Daha önce bir plist dosyası oluşturmadıysanız, bunu yapmanın bir yolu TextEdit'tir. Komut dosyası düz metin olarak kaydedilmelidir, bu nedenle Zengin Metin biçimlendirmesi için TextEdit varsayılan tercihleriniz varsa, yeni başlatma aracı plist dosyasını kullanmaya çalışmadan önce düz metne dönüştürmek için Biçim> Düz Metin Yap komutunu kullanın.
<?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>
"ProgramArguments" altındaki dizideki dize, / shell / path komut dosyanızın yoludur. Dosyayı ~ / Library / LaunchAgents / dizinine kaydedin. Bu örnekte, com.myaccountname.forceQuitGamed.plist plist dosyasını adlandırdım, bu yüzden
/Users/myaccountname/Library/LaunchAgents/com.myaccountname.forceQuitGamed.plist
Hesabınıza her giriş yaptığınızda, oyun yüklendikten sadece birkaç saniye sonra zorla çıkmalıdır. (Yüklendikten sonra mümkün olan en kısa sürede sonlandırılması gerekiyorsa, @ Le-Sci'nin yöntemine bakın.) Bu yaklaşım, Sistem Bütünlüğü Korumasını devre dışı bırakmaya gerek kalmadan çalışır.
csrutil disable
Kurtarma Modundayken önce Terminal'e girmeniz , ardından değişiklik yapmayı yeniden başlatmanız, Kurtarma Modunda csrutil enable
yeniden başlatmanız ve yeniden başlatmanız gerekir.
Ancak değiştirildiğinde El Capitan'da hangi işlemlerin önyükleme yapacağını bilmiyorum