Mac OS X - Terminal.app konnte nicht gestartet werden - Shell hat einen ungültigen Wert

19720
chemm

Ich kann die Terminal.app nicht ausführen, nachdem ich mein System von der Zeitmaschine zurückgesetzt habe.

Mac OS X Version 10.6.2

Es zeigt den folgenden Fehler an. "Sie sind nicht berechtigt, diese Anwendung auszuführen" "Der Administrator hat Ihre Shell auf einen ungültigen Wert festgelegt."

Danach habe ich die Datei ~ / Library / Preferences / com.apple.Terminal.plist gelöscht

Es wird jedoch dieselbe Meldung angezeigt.

Ich habe alle Systemrechte mit der DiskUtility repariert, aber das hat nicht geholfen.

16

10 Antworten auf die Frage

10
chemm

Dieser Wert ist auf gesetzt /bin/bash. Hier ändert sich nichts. Ich habe diese Einstellungen kontrolliert. Ich bekomme diesen Fehler für jede Shell.

Endlich habe ich die Lösung gefunden. Im Finder gehe ich zum Ordner öffnen /etc. Dort fand ich die Akte /private/etc/shells, die leer war. Ich habe die Datei /private/etc/shellsdurch die Sicherungsdatei ersetzt /private/etc/shells~orig.

Nun enthält die / private / etc / shells folgendes:

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

(In Finder sind weitere Schritte erforderlich, leere Shells-Datei löschen, Berechtigungen im Informationsdialog ändern.)

Nun kann ich die Terminal.app mit der neu starten /bin/bash.

I found that my account wasn't even able to see the /etc /bin folders for some reason though I can see them from a local admin account also on the machine (my main account is a corporate domain account). Thought about using CHMOD from the admin account to change access to the /etc /bin directories. ScottCher vor 12 Jahren 0
Erwägen Sie, Ihre (oder andere) Antwort auf diese Frage zu akzeptieren. Daniel Beck vor 12 Jahren 0
10
Rune Smistad

Neustart ist die Antwort in OS X Lion. Wenn Sie nicht mehr auf USB- oder Netzwerklaufwerke schreiben können, ist die Lösung dieselbe.

Ich hoffe auf ein paar schnelle Updates, um einige dieser lästigen Probleme zu beseitigen.

5
Lindsay

Das gleiche Problem hatte ich nach einer Time Machine-Wiederherstellung. In diesem Fall wurde die Sicherung von einem MacBook Pro zur Wiederherstellung auf einem MacBook verwendet.

Ich konnte das Problem nur mit dem Finder lösen (geben Sie jedes Mal Ihr Passwort ein):

  • Gehen Sie auf Gehe zu> Gehe zu Ordner, um zu "/ privat" zu gelangen.
  • Wählen Sie "etc"
  • Befehl-I, um das Information-Popup aufzurufen (schließen Sie es nicht bis zum Ende dieser Prozedur)
  • Klicken Sie auf das Schlosssymbol in der rechten unteren Ecke, um die Berechtigungen zu entsperren
  • Notieren Sie sich die Berechtigungseinstellung für "Jeder".
  • Klicken Sie auf die Berechtigungseinstellung für "Jeder" und wählen Sie "Lesen & Schreiben".
  • Gehen Sie zu Gehe zu> Gehe zu Ordner, um zu "/ private / etc" zu gelangen.
  • Ich fand, dass "Muscheln" leer waren, aber es gab ein "Muscheln-Orig" mit einer guten Liste von Muscheln
  • "Muscheln" löschen
  • Wählen Sie "Muscheln ~ orig"
  • Befehlstaste-C, Befehlstaste-V zum Kopieren und Einfügen; Dies erzeugt "Shells ~ orig copy"
  • Wählen Sie "Shells ~ orig copy"
  • Klicken Sie erneut, um den Umbenennungsmodus zu aktivieren und den Namen von "Shells ~ orig copy" in "Shells" zu ändern.
  • Kehren Sie zum Information-Popup zurück und ändern Sie die Berechtigungseinstellung für "Jeder" auf den ursprünglichen Wert
  • Schließen Sie das Information-Popup

Nun, da ich eine "Shells" -Datei mit einer gültigen Liste von Shells hatte, konnte ich das Terminal wieder öffnen.

4
Tim

Klicken Sie im Kontenbereich der Systemeinstellungen mit der rechten Maustaste auf Ihren Kontonamen, und wählen Sie Erweiterte Optionen. Ändern Sie den Wert für "Login-Shell" - Ich verwende / bin / bash, aber Sie können jede installierte Shell verwenden.

4
atraudes

Ich hatte das gleiche Problem. ein Neustart hat den Trick für mich gemacht. Nicht gewohnt, das auf einem Mac zu tun :-P

Gleiches mit mir (auf Lion). Andere Apps haben sich verhalten (wie BBEdit), also dachte ich, ich würde zuerst einen Neustart versuchen und es hat funktioniert. nevan king vor 12 Jahren 0
3
hobbes3

Ich hatte genau das gleiche Problem. Einfache Lösung:

Führen Sie einfach Repair Disk Permission with Disk Utility aus :-).

3
Adam Nohejl

Das Ändern des Kennworts für mein Benutzerkonto über die Systemeinstellungen hat dieses Problem behoben (ich habe es auf denselben Wert geändert, der das Betriebssystem vermutlich dazu gezwungen hat, einige Benutzerkontoinformationen in Dateien zu schreiben). Ich verwende Mac OS X 10.7.3, und anscheinend wurden keine Dateien in / etc geändert.

2
user33466

I had the same problem. Time Machine for some reason turned /private/etc/shells into a zero length file during my restore. chemm's answer is pretty good, but misses some steps for Mac noobies like me.

  • To even get to /private/etc you need to use the Finder menu item Go -> Go to Folder option and type /private/etc
  • Then locate the shells file.
  • It would not allow me to edit the file at all, so I deleted it.
  • Then I used time machine to restore that file.
  • If you enter the time machine while in Finder it'll start you off in that /private/etc folder.
  • When I restored it, I could not figure out how to direct Time Machine to that folder (didn't see a go to folder option), so I restored "shells" to my desktop and then used Finder to copy/paste the file to /private/etc

You'll need to supply your password a few times to achieve the above, and I suppose you'll need to be on an administrator account.

2
Frank

Combining answers from Tim and chemm was useful in my case.

I used Tim's approach to bring up a terminal using a different shell. I then edited /etc/shells to include the preferred shell and then used Tim's approach again to restore the original shell path in the "Advanced Options".

0
Howard Nebeck

Für mich war keine der Standardantworten das Thema - alles war so, wie es sein sollte.

Das Beenden meiner Aquamacs (Emacs) -Session hat das Problem behoben! Als ich Aquamacs neu startete, funktionierte das Terminal weiterhin einwandfrei.

Ich hatte den Emacs-Shell-Befehl NICHT verwendet, aber irgendwie interagierten diese Anwendungen immer noch auf unglückliche Weise.