Mac OS X: no se pudo iniciar Terminal.app: el shell tiene un valor ilegal


16

No puedo ejecutar Terminal.app después de revertir mi sistema desde la máquina del tiempo.

Mac OS X versión 10.6.2

Muestra el siguiente error. "No tiene autorización para ejecutar esta aplicación" "El administrador ha establecido su shell en un valor ilegal"

Después de eso, he eliminado el archivo ~ / Library / Preferences / com.apple.Terminal.plist

Pero se muestra el mismo mensaje.

He reparado todos los derechos del sistema con DiskUtility pero eso no ayudó.

Respuestas:


10

Reiniciar es la respuesta en OS X Lion. Si pierde la capacidad de escribir en unidades USB o de red, la solución es la misma.

Espero algunas actualizaciones rápidas para deshacerme de algunos de estos molestos problemas.


10

Este valor está establecido en /bin/bash. Nada que cambiar aquí. He controlado estas preferencias. Me sale este error para cada shell.

Finalmente encontré la solución. En Finder voy a abrir carpeta /etc. Allí encontré el archivo /private/etc/shells, que estaba vacío. Reemplacé el archivo /private/etc/shellscon el archivo de copia de seguridad /private/etc/shells~orig.

Ahora el / private / etc / shells contiene lo siguiente:

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

(Se necesitan más pasos en Finder, eliminar el archivo de shells vacío, cambiar los permisos en el cuadro de diálogo de información).

Ahora puedo iniciar el Terminal.app con el de /bin/bashnuevo.


Descubrí que mi cuenta ni siquiera podía ver las carpetas / etc / bin por alguna razón, aunque puedo verlas desde una cuenta de administrador local también en la máquina (mi cuenta principal es una cuenta de dominio corporativo). Pensó en usar CHMOD desde la cuenta de administrador para cambiar el acceso a los directorios / etc / bin.
ScottCher

Considere aceptar su (u otra) respuesta a esta pregunta.
Daniel Beck

5

Tuve el mismo problema después de una restauración de Time Machine, en este caso, usando la copia de seguridad de un MacBook Pro para restaurar en un MacBook.

Pude resolver el problema simplemente usando Finder (ingrese su contraseña cada vez que lo solicite):

  • Use Ir> Ir a la carpeta para ir a "/ privado"
  • Seleccione "etc."
  • Comando-I para que aparezca la ventana emergente de información (no la vuelva a cerrar hasta el final de este procedimiento)
  • Haga clic en el símbolo de bloqueo en la esquina inferior derecha para desbloquear permisos
  • Tome nota de la configuración de permisos para "Todos"
  • Haga clic en la configuración de permisos para "Todos" y seleccione "Leer y escribir"
  • Use Ir> Ir a la carpeta para ir a "/ privado / etc."
  • Encontré que "shells" estaba vacío, pero había un "shells ~ orig" con una buena lista de shells.
  • Eliminar "conchas"
  • Seleccione "shells ~ orig"
  • Comando-C, Comando-V para copiarlo y pegarlo; esto crea "shells ~ orig copy"
  • Seleccione "shells ~ copia original
  • Haga clic nuevamente para ingresar al modo de cambio de nombre y cambiar el nombre de "shells ~ orig copy" a "shells"
  • Vuelva a la ventana emergente Información y cambie la configuración de permisos para "Todos" a su valor original
  • Cerrar la ventana emergente de información

Ahora que tenía un archivo de "shells" con una lista válida de shells, pude abrir Terminal nuevamente.


4

Haga clic con el botón derecho en el nombre de su cuenta en el panel Cuentas de Preferencias del sistema y elija Opciones avanzadas. Cambie el valor de "Shell de inicio de sesión": uso / bin / bash, pero puede usar cualquier shell instalado.


4

Yo tuve el mismo problema; un reinicio me sirvió. No estoy acostumbrado a tener que hacer eso en una Mac :-P


Lo mismo conmigo (en Lion). Otras aplicaciones estaban funcionando (como BBEdit), así que pensé que primero intentaría reiniciar y funcionó.
nevan king

3

Tuve exactamente el mismo problema también. Solución simple:

Simplemente ejecute Repair Disk Permission con Disk Utility :-).


3

El cambio de la contraseña de mi cuenta de usuario a través de las Preferencias del sistema me arregló esto (lo cambié al mismo valor, lo que presumiblemente obligó al sistema operativo a escribir información de la cuenta de usuario en los archivos). Utilizo Mac OS X 10.7.3 y no parece haber cambiado ningún archivo en / etc.


2

Combinar respuestas de Tim y Chemm fue útil en mi caso.

Usé el enfoque de Tim para abrir una terminal usando un shell diferente. Luego edité / etc / shells para incluir el shell preferido y luego volví a usar el enfoque de Tim para restaurar la ruta original del shell en las "Opciones avanzadas".


2

Yo tuve el mismo problema. Time Machine por alguna razón se convirtió /private/etc/shellsen un archivo de longitud cero durante mi restauración. La respuesta de chemm es bastante buena, pero se saltan algunos pasos para novatos de Mac como yo.

  • Para llegar incluso /private/etcnecesita usar la Go -> Go to Folderopción del elemento del menú Finder y escribir/private/etc
  • Luego ubique el archivo de conchas.
  • No me permitió editar el archivo, así que lo eliminé.
  • Luego usé la máquina del tiempo para restaurar ese archivo.
  • Si ingresas a la máquina del tiempo mientras estás en Finder, comenzará en esa /private/etccarpeta.
  • Cuando lo restauré, no pude encontrar la manera de dirigir Time Machine a esa carpeta (no vi una opción para ir a la carpeta), así que restauré "shells" en mi escritorio y luego utilicé Finder para copiar / pegar el archivo en /private/etc

Deberá proporcionar su contraseña varias veces para lograr lo anterior, y supongo que deberá estar en una cuenta de administrador.


0

Para mí, ninguna de las respuestas estándar era el problema: todo era como debería ser.

¡Salir de mi sesión de Aquamacs (emacs) solucionó el problema! Cuando reinicié Aquamacs, Terminal continuó funcionando bien.

NO había usado el comando de shell emacs, pero de alguna manera estas aplicaciones aún interactuaban de una manera desafortunada.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.