OS X 10.11 El Capitan'da Game Center işlemini (gamed) nasıl devre dışı bırakabilirim?


10

Plist dosyasını LaunchAgents'tan düzenleyemiyorum gibi görünüyor - sudo yapsam bile, herhangi bir silme / değişiklik yapmam engellendi. Bunu yapmak için mutlaka SIP'yi devre dışı bırakmam gerekir mi?


Denedin mi ve ne olduğunu gördün mü?
Tetsujin

Yanıtlar:


16

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

1
diyor ki: /System/Library/LaunchAgents/com.apple.gamed.plist: Belirtilen hizmet bulunamadı 10.11.2; Önerin için teşekkürler!
jrgd

Sadece makinemde denedim ve iyi çalıştı. Aynı işletim sistemi (10.11.2). Cevabımdan komutu kopyalayıp yapıştırdınız mı? Düzenleme: emin olun değil kullanmaksudo
frdmn

evet yaptım; ayrıca dizin içinde kontrol edin ve plist dosyası var ... geçmişte herhangi bir şansla SIP / rootless kaldırıldı mı?
jrgd

Hayır, görmedim : paste.frd.mn/loyon - Hizmeti görüyor musunuz launchctl list?
frdmn

1
Çok rica ederim!
frdmn

9

Bu konuya göre şunları yapabilirsiniz:

defaults write com.apple.gamed Disabled -bool true

Ve daemon kullanımının mevcut durumunu kontrol etmek için:

defaults read com.apple.gamed Disabled

2

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

2

Sorun, yukarıda verilen yanıtın:

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

Artık çalışmıyor. -wBayrağı 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 launchctlkomutla 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.


0

Ne hakkında sudo launchctl unload /System/Library/Launch\ Daemons/com.apple.gamed.plist?


/ Sistem / Kütüphane / Başlat Daemons / com.apple.gamed.plist: Böyle bir dosya veya dizin yok --- 10.11.2'deyim (öneri için teşekkürler)
jrgd

benim hatam, bu bir LaunchAgent: sudo launchctl unload / Sistem / Kütüphane / Launch \ Agents / com.apple.gamed.plist
PEM8000

Teşekkürler; dizin makinemdeki LaunchAgent'lar; doğru yolu kullandığımda beni
üzen

0

OS Sierra'da Sistem Ayarları, İnternet Hesapları'na gidin ve listedeki (sol taraf) Oyun Merkezi'ni (eksi ile) silin.


Bu sadece Game Center hesabını siler ve oyun sürecini devre dışı bırakmaz. Ayrıca, bu soru Sierra ile değil El Capitan ile ilgilidir. Sorulara nasıl iyi yanıtlar verebileceğinizle ilgili ipuçları için lütfen Nasıl Yanıtlanır bölümüne bakın . - Yorumdan
fsb

0

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.


0

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.


-4

csrutil disableKurtarma Modundayken önce Terminal'e girmeniz , ardından değişiklik yapmayı yeniden başlatmanız, Kurtarma Modunda csrutil enableyeniden 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


Bu kök oturum açmayı etkinleştirir. Oyunla ne ilgisi var?
Unnamed_1

Bu, güvenlik açısından gerçekten çok kötü bir fikir ve soruyu ele almıyor.
ruief
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.