จะปิดการใช้งานกระบวนการ Game Center (gamed) บน OS X 10.11 El Capitan ได้อย่างไร?


10

ดูเหมือนว่าฉันไม่สามารถแก้ไขไฟล์ plist จาก LaunchAgents ได้แม้ว่าฉันจะทำ sudo ฉันจะป้องกันไม่ให้มีการลบ / แก้ไข ฉันต้องปิดการใช้งาน SIP เพื่อทำสิ่งนี้หรือไม่?


คุณลองแล้วดูว่าเกิดอะไรขึ้น
Tetsujin

คำตอบ:


16

ปิดการใช้งาน LaunchAgent (ไม่ใช่ LaunchDaemons) และรีบูตเครื่องของคุณ ( โดยไม่ต้อง sudo):

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

ในกรณีที่คุณต้องการเปิดใช้งานอีกครั้ง

$ launchctl load /System/Library/LaunchAgents/com.apple.gamed.plist

1
มันบอกว่า: /System/Library/LaunchAgents/com.apple.gamed.plist: ไม่พบบริการที่ระบุฉันกำลังใช้ 10.11.2; ขอบคุณสำหรับคำแนะนำ!
jrgd

ฉันลองมันในเครื่องของฉันและมันก็ใช้ได้ดี ระบบปฏิบัติการเดียวกัน (10.11.2) คุณคัดลอกและวางคำสั่งจากคำตอบของฉันหรือไม่ แก้ไข: ให้แน่ใจว่าจะไม่ใช้sudo
frdmn

ใช่ฉันทำ; ตรวจสอบภายในไดเรกทอรีและไฟล์ plist อยู่ที่นั่น…คุณลบ SIP / rootless โดยที่ผ่านมามีโอกาสบ้างไหม?
jrgd

ไม่ฉันไม่ได้: paste.frd.mn/loyon - คุณเห็นบริการlaunchctl listหรือไม่
frdmn

1
คุณยินดีอย่างมาก!
frdmn

9

ตามหัวข้อนี้คุณสามารถทำได้:

defaults write com.apple.gamed Disabled -bool true

และเพื่อตรวจสอบสถานะปัจจุบันของ daemon ใช้:

defaults read com.apple.gamed Disabled

2

ทางออกหนึ่งคือการสร้าง bash script เพื่อหยุดบริการ gamed หลังจากที่คุณเข้าสู่ระบบ ใช้ Automator ใน OS X เพื่อสร้างสคริปต์ทุบตีจากนั้นเพิ่มเป็นรายการเข้าสู่ระบบบัญชี OS X ของคุณ ในครั้งต่อไปที่คุณเข้าสู่ระบบคุณควรได้รับพรอมต์ให้รันสคริปต์ ปกติฉันรอจนกระทั่งฉันเห็นการแจ้งเตือนจาก Little Snitch ที่ gamed กำลังโทรกลับบ้านจากนั้นฉันคลิก 'ดำเนินการต่อ' เพื่อเรียกใช้สคริปต์ สิ่งนี้ยังไม่สมบูรณ์และคุณอาจพบปัญหาหากคุณเรียกใช้ทันทีหลังจากที่คุณลงชื่อเข้าใช้ OS X ฉันชอบที่จะอยู่ห่างจากโซลูชันที่ปิดใช้งานบริการเนื่องจากสิ่งเหล่านั้นต้องการการปิดใช้งาน / แทนที่ SIP ที่ฉันแนะนำ

นี่คือสคริปต์ทุบตีที่ฉันใช้ ข้อเสนอแนะในการปรับปรุงมันยินดีต้อนรับ

    #!/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

ปัญหาคือคำตอบที่ได้รับการยอมรับดังกล่าวข้างต้น:

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

ไม่ทำงานอีกต่อไป ฉันเห็นมันด้วยการใช้-wธง ไม่ว่าในกรณีใดในการอัปเดตล่าสุดฉันคิดว่า El Capitan หรือ Yosemite คุณได้รับข้อความแทน

ไม่อนุญาตการดำเนินการในขณะที่การป้องกันความสมบูรณ์ของระบบมีส่วนร่วม

การป้องกันความสมบูรณ์ของระบบเป็นที่รู้จักกันโดยย่อ SIP csrutil disableปิดการใช้งานที่คุณต้องบูตเข้าสู่การกู้คืนระบบปฏิบัติการและการทำงาน

ฉันได้ทำลำดับนี้ในรุ่นก่อนหน้าและมันนำไปสู่ความสามารถในการปิดการใช้งาน gamed ผ่านlaunchctlคำสั่ง

ฉันคิดว่าหลังจากปิดการใช้งาน gamed ใครสามารถเปิดใช้งาน SIP อีกครั้ง อาจเป็นสิ่งที่ดีที่สุดของทั้งสองโลกถึงแม้ว่ามันจะเป็นกระบวนการที่น่าเบื่อหน่าย


0

แล้วsudo launchctl unload /System/Library/Launch\ Daemons/com.apple.gamed.plistไงล่ะ


/ ระบบ / Library / เปิดตัวภูต / com.apple.gamed.plist: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว --- ฉัน 10.11.2 (ขอบคุณสำหรับคำแนะนำ)
jrgd

สิ่งที่แย่ของฉันคือ LaunchAgent: sudo launchctl unload / System / Library / Launch \ Agents / com.apple.gamed.plist
PEM8000

ขอบคุณ; ไดเรกทอรีคือ LaunchAgents บนเครื่องของฉัน เมื่อใช้เส้นทางที่ถูกต้องฉันได้ "ไม่พบระบุบริการ" ที่ทำให้ฉันเศร้า
jrgd

0

บน OS Sierra ไปที่การตั้งค่าระบบบัญชีอินเทอร์เน็ตและลบ (ด้วยเครื่องหมายลบ) Game Center ในรายการ (ด้านซ้าย)


การดำเนินการนี้จะลบบัญชี Game Center และไม่ได้ปิดการใช้งานกระบวนการที่เป็น gamed นอกจากนี้คำถามนี้เกี่ยวกับ El Capitan และไม่ใช่ Sierra โปรดดูวิธีการตอบสำหรับเคล็ดลับเกี่ยวกับวิธีการให้คำตอบที่ดีสำหรับคำถาม - จากการรีวิว
fsb

0

สิ่งนี้สร้างความแตกต่างเพียงเล็กน้อยจากจุดยืนด้านความปลอดภัยเพียงแค่เปลี่ยนระบบกลับไปเป็นระบบที่ทำงานได้จริงก่อน SIP และระบบปฏิบัติการ Unix เกือบทั้งหมดยังคงทำงาน คุณค่าของ SIP เป็นสิ่งที่ถกเถียงกันได้ดีที่สุด มันตอบคำถามเพราะวิธีเดียวที่จะใช้คำสั่ง Launchctl เพื่อยกเลิกการโหลดไฟล์ plist gamed คือการปิดการใช้งาน SIP, boot, unload ไฟล์ plist ก่อนจากนั้นหากต้องการเปิดใช้งาน SIP อีกครั้ง


0

ตัวเลือกอื่นที่ใช้งานได้กับ 10.11.6 คือรูปแบบของวิธีการที่ @ Le-Sci แนะนำ สร้างเชลล์สคริปต์ที่ปิดใช้งานกระบวนการ gamed:

#!/bin/bash
sleep 30 && kill -9 "$(pgrep gamed)"

คำสั่ง sleep ที่นี่บอกสคริปต์ให้รอ 30 วินาทีก่อนเริ่มกระบวนการเลิก gamed เพื่อให้ระบบมีเวลามากพอที่จะโหลด gamed ก่อนที่จะพยายามยุติมัน คุณสามารถปรับระยะเวลาในการรอได้ตามต้องการ คำสั่ง "kill -9" บังคับให้ออกจากกระบวนการที่คุณร้องขอ แต่จะยอมรับเฉพาะหมายเลขกระบวนการเท่านั้นไม่ใช่ชื่อกระบวนการดังนั้น "pgrep" จึงถูกใช้เพื่อค้นหารหัสกระบวนการ จดบันทึกตำแหน่งที่คุณบันทึกสคริปต์ (สำหรับตัวอย่างนี้ฉันจะบันทึกเป็น "forceQuitGamed" ใน / Users / myaccountname /)

ให้สิทธิ์การเรียกใช้สคริปต์:

sudo chmod +x ~/forceQuitGamed

สร้างไฟล์ plist agent เริ่มต้นที่จะทำงานทุกครั้งที่คุณลงชื่อเข้าใช้บัญชีของคุณ หากคุณไม่ได้สร้างไฟล์ plist มาก่อนวิธีหนึ่งที่คุณสามารถทำได้คือใช้ TextEdit ไฟล์สคริปต์ต้องถูกบันทึกเป็นข้อความธรรมดาดังนั้นหากการกำหนดค่าเริ่มต้นของคุณสำหรับการโทร TextEdit สำหรับการจัดรูปแบบ Rich Text ให้ทำรูปแบบ> สร้างคำสั่งข้อความล้วนเพื่อแปลงเป็นข้อความธรรมดาก่อนที่จะพยายามใช้ไฟล์ plist agent ใหม่

<?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" เป็นพา ธ / ถึง / your / shell script บันทึกไฟล์ไปที่ ~ / Library / LaunchAgents / ในตัวอย่างนี้ฉันตั้งชื่อไฟล์ plist com.myaccountname.forceQuitGamed.plist ดังนั้นจึงพบได้ที่

/Users/myaccountname/Library/LaunchAgents/com.myaccountname.forceQuitGamed.plist

ตอนนี้ทุกครั้งที่คุณลงชื่อเข้าใช้บัญชีของคุณ gamed ควรจะถูกบังคับให้ออกหลังจากนั้นไม่กี่วินาที (หากคุณต้องการให้ยกเลิกโดยเร็วที่สุดหลังจากโหลดเสร็จแล้วให้ดูที่วิธีการของ @ Le-Sci) วิธีนี้ใช้ได้โดยไม่จำเป็นต้องปิดการใช้งานการป้องกันความสมบูรณ์ของระบบ


-4

คุณต้องเข้าสู่csrutil disableเทอร์มินัลก่อนในโหมดการกู้คืนจากนั้นรีสตาร์ททำการเปลี่ยนแปลงรีสตาร์ทอีกครั้งในโหมดการกู้คืนและทำcsrutil enableรีสตาร์ท

แต่ฉันไม่ทราบว่ากระบวนการใดที่ถูกปรับเปลี่ยนจะทำให้บูตใน El Capitan ได้


สิ่งนี้เปิดใช้งานการล็อกอินรูท จะทำอย่างไรกับ gamed?
Unnamed_1

นี่เป็นแนวคิดที่ไม่ดีจริงๆจากมุมมองด้านความปลอดภัยและไม่ได้ตอบคำถาม
ruief
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.