ทฤษฎี
สรุปมีเอกสารในman launchctl
วิธีที่จะบรรลุสวิตช์ดังกล่าวในโหมดเดียวที่ไม่มีเคอร์เนลรีบูต มันสามารถปรับใช้เช่นจากหน้าต่างเทอร์มินัลด้วยคำสั่ง SHELL:
sudo launchctl reboot userspace -s
การปฏิบัติ
El Capitan
ฉันทดสอบใน El Capitan บน Macbook Air 2015 ซึ่งใช้งานได้ แต่ฉันก็มีรายงานจากผู้ใช้ว่าความพยายามของเขาใน El Capitan นั้นไม่ประสบความสำเร็จ ข้อแตกต่างอย่างเดียวที่ฉันนึกได้คือ Retina ซึ่งต้องใช้โหมดกราฟิกที่แตกต่างกันหรือ somesuch ฉันไม่มี Macbook ที่มี Retina ที่ใช้ El Capitan ดังนั้นในตอนนี้ฉันไม่สามารถบอกอะไรได้มากกว่านี้ในการรองรับเวอร์ชันดังกล่าว
เทือกเขาสูงโมฮาวี
ความพยายามของฉันกับ High Sierra แสดงให้เห็นว่าฟังก์ชั่นนี้ใช้งานไม่ได้อีกต่อไป (เทียบกับ El Capitan) อีกครั้งอาจเป็นเพราะจอประสาทตามันไม่ชัดเจน โมฮาวีไม่ได้ทำงานด้วย
คำอธิบายอย่างละเอียดโดยผู้มีส่วนร่วม¹
มีวิธีการย้อนกลับสู่โหมดผู้ใช้คนเดียวจาก macOS ที่ทำงานอยู่และทำงานอยู่โดยไม่ต้องรีบูตเต็มโดยทำงาน
sudo launchctl reboot userspace -s
สิ่งนี้จะเปิดใช้งานเฉพาะส่วน userspace ของ macOS โดยไม่ต้องรีสตาร์ทเคอร์เนลดาร์วินและเทียบเท่ากับการเปลี่ยน runlevel ใน old-day-UNIXes
สำหรับรายละเอียดเพิ่มเติมดูman launchctl
:
reboot [system|userspace|halt|logout|apps|reroot ]
Instructs launchd to begin tearing down userspace. With no argu-
ment given or with the system argument given, launchd will make
the reboot(2) system call when userspace has been completely
torn down. With the halt argument given, launchd will make the
reboot(2) system call when userspace has been completely torn
down and pass the RB_HALT flag, halting the system and not ini-
tiating a reboot.
With the userspace argument given, launchd will re-exec itself
when userspace has been torn down and bring userspace back up.
This is useful for rebooting the system quickly under conditions
where kernel data structures or hardware do not need to be re-
initialized.
-s When rebooting the machine (either a full reboot or
userspace reboot), brings the subsequent boot session
up in single-user mode.
ซึ่งหมายความว่าในระดับเทคนิคsudo launchctl reboot userspace -s
ไม่ได้เรียกreboot(2)
ดังนั้นจึงมีวิธีเปลี่ยนเป็นโหมดผู้ใช้คนเดียวโดยไม่ต้องรีบูต
นอกจากนี้บทความ Wikipedia ในโหมดผู้ใช้คนเดียวก็บอกว่า
ใน OS X El Capitan และรุ่นต่อมาของ MacOS, โหมดสามารถกลับไปที่โหมดผู้ใช้คนเดียวกับคำสั่งsudo launchctl reboot userspace -s
ใน Terminal sudo launchctl reboot system -s
และระบบสามารถบูตได้อย่างเต็มที่ในโหมดผู้เดียวกับคำสั่ง
1 - ความอนุเคราะห์ของ @ nohillside
sudo launchctl reboot userspace -s
preform userpace ที่ประสบความสำเร็จ รีบูต! เพียงแค่ใส่โดยไม่คำนึงถึงแหล่งที่มาของเอกสารคำสั่งดังกล่าวไม่ได้และไม่ทำงานและดังนั้นโดยไม่คำนึงถึงข้อเท็จจริงที่ว่าคำตอบของคำถามนี้ได้รับการยอมรับอย่างไรก็ตามฉันไม่พบว่ามันทำงานได้และเป็นสาเหตุของการลงคะแนนของฉัน