Teoría
En pocas palabras, hay una forma documentada man launchctl
de lograr tal cambio al modo único sin reinicio del núcleo. Se puede implementar, por ejemplo, desde la ventana de Terminal con un comando SHELL:
sudo launchctl reboot userspace -s
Práctica
El Capitan
Lo probé en El Capitan en un Macbook Air 2015 donde funcionó. Pero también tengo un informe de un usuario que sus intentos de El Capitán no tuvieron éxito. La única diferencia que se me ocurre es Retina, que requiere un modo gráfico diferente o algo así. No tengo Macbook con Retina corriendo El Capitan, así que por el momento no puedo decir nada más en apoyo de tal versión.
Sierra alta, Mojave
Mis intentos con High Sierra mostraron que esta funcionalidad ya no funciona (en comparación con El Capitan). De nuevo, puede ser debido a Retina, no está claro. Mojave no lo tiene funcionando también.
Explicación exhaustiva de un colaborador¹
Hay una manera de volver al modo de usuario único desde un macOS en ejecución y sin ejecutar un reinicio completo ejecutando
sudo launchctl reboot userspace -s
Esto reiniciará solo la parte del espacio de usuario de macOS sin reiniciar el kernel de Darwin y es equivalente a cambiar el nivel de ejecución en UNIX de antaño.
Para detalles adicionales ver 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.
Esto significa que a nivel técnico sudo launchctl reboot userspace -s
no se llama reboot(2)
y, por lo tanto, proporciona una forma de cambiar al modo de usuario único sin reiniciar.
También el artículo de Wikipedia sobre el modo de usuario único dice:
En OS X El Capitan y versiones posteriores de macOS, el modo se puede revertir a modo de usuario único con el comando sudo launchctl reboot userspace -s
en Terminal, y el sistema se puede reiniciar completamente en modo de usuario único con el comando sudo launchctl reboot system -s
.
1 - Cortesía de @ nohillside
sudo launchctl reboot userspace -s
preformaron un espacio de usuario exitoso y utilizable ¡reiniciar! En pocas palabras, independientemente del origen de la documentación, el comando mencionado no funcionó y no funciona y, por lo tanto, independientemente del hecho de que la respuesta a esta pregunta fue aceptada, no encontré que funcionara y es la razón de mi voto negativo.