Detectar el modo de un solo usuario desde la línea de comando.

5

¿Hay una manera de detectar el modo de usuario único en OSX (Lion, específicamente) desde la línea de comandos?

He intentado who -r, que devuelve 3 En modo estándar o de usuario único.

También he intentado nvram boot-args, que tampoco funciona.

Google no está ayudando mucho con esto ...

Scot
fuente

Respuestas:

9
$ sysctl -n kern.singleuser
0

Sus 1 cuando se arranca en modo de usuario único, 0 cuando no.

Ingmar Hupp
fuente
Confirmado - gracias, Ingmar, justo lo que necesitaba.
Scot
2

Hmm No tenemos niveles de ejecución en OS X *, lo cual sería una manera fácil. ¿Qué hay de identificar algo en la salida de launchctl list que no está presente en modo de usuario único pero está presente de otra manera - com.apple.Finder podría ser un candidato

* man who incluye: -r Print the current runlevel. This is meaningless on Mac OS X.

Adam Eberbach
fuente
Gracias, Adam - pensé que lo intentaría who De todos modos para confirmar. Como para launchctl list, devuelve un Socket is not connected error cuando está en modo de usuario único ... Me pregunto si eso es suficiente de un gancho.
Scot
1
Finder no siempre se está ejecutando, incluso en "modo normal". Puede ser abandonado o reemplazado por otro lanzador.
Si eso es consistente Scot, podría ser muy conveniente!
Adam Eberbach
1

En el modo de usuario único, el directorio abierto no está disponible, excepto saltando a través de aros. Puede probar el valor de retorno de dscl en ese caso.

chiggsy
fuente