¿Cómo iniciar sesión como un usuario diferente en la terminal?

10

Actualmente estoy conectado como usuario normal en OS X.

Me gustaría comenzar una sesión de terminal e iniciar sesión como usuario foo.

es posible?

macek
fuente
1
¿Has intentado usar su - foo?
kraftan el

Respuestas:

16

¿Has intentado usar su - foo?

Actualización basada en los comentarios:

El vacío -le dice suque haga un inicio de sesión completo. Eso significa (de la página del manual),

El entorno se descarta, excepto para CASA, SHELL, RUTA, PLAZO y USUARIO. HOME y SHELL se modifican como anteriormente. USUARIO está configurado para el inicio de sesión de destino. PATH se establece en `` / bin: / usr / bin ''. TERM se importa de su entorno actual. El shell invocado es el inicio de sesión de destino, y su cambiará el directorio al directorio de inicio del inicio de sesión de destino.

Entonces, si necesita otras variables de entorno, como DISPLAYabrir programas que usan el servidor de ventanas, debe omitir el vacío -.

Kraftan
fuente
El inicio de sesión funciona bien, pero lo intenté mate myfiley recibo el error "no se pudo conectar con WindowServer". Esta no es una solución crítica, pero sería genial hacer que esto funcione.
macek
2
@macek: Eso es porque no hay un servidor de Windows (aqua) conectado a la terminal. Si el usuario está actualmente conectado en el entorno gráfico, intente open -a TextMate myfile.
Georg Schölly el
1
@macek: No estoy seguro, pero tal vez su foopodría hacerlo. Omitir las -variables de entorno mantiene los valores.
Kraftan el
Gracias por la ayuda. @kraftan, quizás actualice la respuesta para incluir ambos con una breve explicación. :)
macek
@ Georgia, eso no parecía funcionar.
macek
0

En el uso de MacOS X login


$ login
login: your username
contraseña: your password
Último login: Día Mes Fecha HH: MM: SS en ttys000
$ whoami
su nombre de usuario

Tenía problemas para ejecutar nanodespués de usar su - admin para editar un .bashrcarchivo. Al ajustar el tamaño de la ventana, el texto se volvería confuso. La respuesta que encontré a continuación explica por qué y me llevó en la dirección correcta.

"El emulador de terminal enviará una señal de Cambio de ventana (SIGWINCH) al shell que se inició junto con el emulador de terminal. Se supone que el shell se lo pasará a sus hijos, pero cuando haya hecho la transición a otra cuenta de usuario (usando su o de lo contrario), no podrá señalar ese shell porque se está ejecutando como un usuario diferente. Por lo tanto, el shell su'd y cualquier programa que se ejecute desde él seguirán utilizando el tamaño de ventana anterior, ajeno al hecho de que la ventana real el tamaño ha cambiado ". - telcoM

Juan
fuente
-1

Lo he intentado sumuchas veces pero me sudoha resultado más fácil. Puedes probar

sudo -u <username>
iPav
fuente
Mi sudo no parece tener una -uopción
Xiao