Teoria
Krótko mówiąc, istnieje udokumentowana man launchctl
droga do takiego przełączenia na ponowne uruchomienie jądra w trybie pojedynczym. Można go wdrożyć np. Z okna terminala za pomocą polecenia SHELL:
sudo launchctl reboot userspace -s
Ćwiczyć
kapitan
Testowałem go w El Capitan na Macbooku Air 2015, gdzie działał. Ale mam też raport od użytkownika, że jego próby na El Capitan nie powiodły się. Jedyną różnicą, o której mogę myśleć, jest Retina, która wymaga innego trybu graficznego lub czegoś takiego. Nie mam Macbooka z Retiną i systemem El Capitan, więc na razie nie mogę powiedzieć nic więcej na temat takiej wersji.
High Sierra, Mojave
Moje próby z High Sierra pokazały, że ta funkcjonalność już nie działa (w porównaniu do El Capitan). Ponownie, być może jest to spowodowane siatkówką, nie jest jasne. Mojave też nie działa.
Dokładne wyjaśnienie autora
Istnieje sposób na powrót do trybu pojedynczego użytkownika z uruchomionego i działającego systemu macOS bez konieczności pełnego ponownego uruchamiania przez uruchomienie
sudo launchctl reboot userspace -s
Spowoduje to ponowne uruchomienie tylko części macOS w przestrzeni użytkownika bez ponownego uruchamiania jądra Darwin i jest to równoważne ze zmianą poziomu uruchamiania w starych systemach UNIX.
Aby uzyskać dodatkowe informacje, patrz 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.
Oznacza to, że na poziomie technicznym sudo launchctl reboot userspace -s
nie wywołuje reboot(2)
i dlatego umożliwia przejście do trybu pojedynczego użytkownika bez ponownego uruchamiania.
Również artykuł Wikipedii na temat trybu pojedynczego użytkownika mówi:
W systemie OS X El Capitan i nowszych wersjach systemu macOS tryb można odwrócić do trybu pojedynczego użytkownika za pomocą polecenia sudo launchctl reboot userspace -s
w terminalu, a system można w pełni zrestartować w trybie pojedynczego użytkownika za pomocą polecenia sudo launchctl reboot system -s
.
1 - Dzięki uprzejmości @ nohillside
sudo launchctl reboot userspace -s
udanej i użytecznej przestrzeni użytkownika restart! Mówiąc najprościej, niezależnie od źródła dokumentacji, powyższe polecenie nie działało i nie działa, a zatem niezależnie od tego, że odpowiedź na to pytanie została zaakceptowana, nie znalazłem