1 votos

¿Cómo puedo solucionar Terminal.aplicación cuando mi concha se ha ajustado a un valor ilegal?

Hoy estaba limpiando acerca de tratar de desinstalar macports cuando me di cuenta de un error que se ha echado siempre he usado sudo. Me mató de la Terminal y trató de reiniciar lo que no se pudo con el mensaje de error "Usted no está autorizado para ejecutar esta aplicación" y "El administrador ha establecido su shell para un valor ilegal." ¿Cómo puedo solucionar este problema?

2voto

Yasmine Mustafa Puntos 21

...Yo ya había resuelto el problema mediante la Utilidad de Discos para reparar los permisos de...

Si la reparación de permisos se resuelve el problema, la causa es casi seguro que los permisos de /etc/shells eran incorrectos, la prevención de la Terminal de la lectura.

/etc/shells contiene una lista de programas de shell, y la Terminal comprueba si la concha de su cuenta de usuario está en la lista. Si no, se produce la "ilegal shell" mensaje. Si no puede leer el /etc/shells archivo debido a problemas de permisos, también produce este mensaje.

Más raramente, algunas personas se han encontrado con este problema cuando el /etc/shells archivo era de alguna manera alterado por lo que es vacío, en cuyo caso tendrás que restaurar su contenido mediante la copia de un buen sistema, o con una Máquina del Tiempo de restauración, etc.

Para responder a tu pregunta original:

Si la Terminal se queja acerca de un "ilegal shell" significa que la concha de tu cuenta de usuario no se encontró en /etc/shells.

Se puede ver que las conchas son considerados válidos con cat /etc/shells.

Puede comprobar la concha de su cuenta de usuario está configurado para utilizar con echo $SHELL, o mediante la lectura de la información del usuario con dscl . -read "/Users/$LOGNAME" UserShell. O usted puede utilizar las Preferencias del Sistema:

  1. Abra Preferencias del Sistema y vaya a Usuarios Y Grupos.
  2. Haga clic en el candado e introduzca su contraseña para poder leer/establecer la configuración de usuario.
  3. Control-Clic (o Clic Derecho) sobre el usuario para obtener un menú contextual y elija Opciones Avanzadas....

Las Opciones Avanzadas de la hoja de muestra detallada información de cuenta de usuario, incluyendo la shell de la ruta. También puede utilizar esta para editar el shell de la ruta para volver a habilitar los inicios de sesión si se ha ajustado a un valor que no aparece en /etc/shells.

1voto

Jeff Bloom Puntos 155

Si usted está recibiendo algunos mensajes de error extraños en su Terminal de windows cuando se abre por primera vez, que probablemente indica un problema con su Terminal preferencias. Pruebe a quitar (o simplemente el cambio de nombre) a la Terminal de archivo de preferencias (~/Library/Preferences/com.apple.Terminal.plist) y, a continuación, reiniciar el Terminal de la aplicación. (Fuente)

Si usted todavía tiene un problema, y luego mirar lo que tienes en tu shell punto archivos: ~/.bash_profile, ~/.bashrc, y el como. Si usted no puede averiguar cuál es el problema, pruebe a quitar (o simplemente el cambio de nombre) los dotfiles.

Otro lugar para buscar problemas es la default.term archivo bajo ~/Library/Application Support/Terminal. Este es el archivo que almacena la configuración predeterminada para las ventanas de la Terminal.

Si todo eso falla, utilice la Utilidad de Discos para reparar los permisos para el Terminal. (Fuente)

1voto

S Kumar Puntos 96

Yo uso zsh, mientras que en la configuración no sé por qué $SHELL se establece en /usr/local/bin/zsh, luego me cambiaron a /bin/zsh, problema resuelto. En mi caso, los permisos de reparación o de otros enfoques de arriba no te ayudó. Pero, gracias de todos modos.

0voto

Tengo el mismo error después me encontré chsh y de hacer un error en la ruta de acceso para el shell de inicio de sesión.

Yo no era capaz de abrir la Terminal, y nada de lo que pasó cuando traté de mostrar las opciones avanzadas de la hoja en la que los Usuarios Y Grupos en el panel de preferencias. Yo era capaz de ejecutar chsh -s /bin/bash en iTerm 2 sin embargo.

También puede cambiar la configuración predeterminada de inicio de sesión de shell con dscl o editar /var/db/dslocal/nodes/Default/users/$USER.plist directamente.

0voto

SeniorSmoke Puntos 1

Para mí, he recibido este error debido a un chsh error tipográfico así. Puedo usar homebrew y (muy estúpidamente) establecer mi concha a los binarios en /usr/local/Bodega en lugar de la dinámica de enlace en /usr/local/bin. Como resultado de la Terminal amordazada, pero sorprendentemente, iTerm no. Este hilo fue muy útil para solucionar mi problema.

Para evitar que mi problema: si el uso de homebrew, SIEMPRE se hace referencia al vínculo dinámico de los binarios en /usr/local/bin, para que estos siempre se mantiene hasta la fecha.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X