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

16

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 wird der folgende Fehler angezeigt. "Sie sind nicht berechtigt, diese Anwendung auszuführen." "Der Administrator hat Ihre Shell auf einen unzulässigen Wert gesetzt."

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

Es wird jedoch dieselbe Meldung angezeigt.

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

chemm
quelle

Antworten:

10

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

Ich hoffe auf ein paar schnelle Updates, um einige dieser nervigen Probleme loszuwerden.

Rune Smistad
quelle
10

Dieser Wert ist auf gesetzt /bin/bash. Hier gibt es nichts zu ändern. 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 Datei /private/etc/shells, die leer war. Ich habe die Datei /private/etc/shellsdurch die Sicherungsdatei ersetzt /private/etc/shells~orig.

Jetzt enthält die Datei / private / etc / shells Folgendes:

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

(Im Finder sind weitere Schritte erforderlich. Löschen Sie leere Shells, und ändern Sie die Berechtigungen im Informationsdialog.)

Jetzt kann ich die Terminal.app mit dem neu starten /bin/bash.

chemm
quelle
Ich habe festgestellt, dass mein Konto aus irgendeinem Grund die Ordner / etc / bin nicht sehen konnte, obwohl ich sie von einem lokalen Administratorkonto aus auch auf dem Computer sehen kann (mein Hauptkonto ist ein Unternehmensdomänenkonto). Überlegt, CHMOD vom Administratorkonto aus zu verwenden, um den Zugriff auf die Verzeichnisse / etc / bin zu ändern.
ScottCher
Erwägen Sie, Ihre (oder eine andere) Antwort auf diese Frage zu akzeptieren.
Daniel Beck
5

Ich hatte das gleiche Problem nach einer Time Machine-Wiederherstellung, in diesem Fall mit der Sicherung von einem MacBook Pro, um auf einem MacBook wiederherzustellen.

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

  • Verwenden Sie "Gehe zu"> "Gehe zum Ordner", um zu "/ privat" zu wechseln.
  • Wählen Sie "etc"
  • Befehl-I, um das Informations-Popup aufzurufen (schließen Sie es erst wieder, wenn dieser Vorgang abgeschlossen ist)
  • Klicken Sie auf das Schlosssymbol in der unteren rechten 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".
  • Verwenden Sie "Gehe zu"> "Gehe zum Ordner", um zu "/ privat / etc" zu wechseln.
  • Ich stellte fest, dass "shells" leer war, aber es gab ein "shells ~ orig" mit einer guten Liste von Shells
  • "Muscheln" löschen
  • Wähle "shells ~ orig"
  • Befehl-C, Befehl-V zum Kopieren und Einfügen; dies schafft "Muscheln ~ orig Kopie"
  • Wähle "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 Popup "Informationen" zurück, und ändern Sie die Berechtigungseinstellung für "Jeder" wieder auf den ursprünglichen Wert
  • Schließen Sie das Informationsfenster

Nachdem ich eine "Shells" -Datei mit einer gültigen Liste von Shells hatte, konnte ich Terminal erneut öffnen.

Lindsay
quelle
4

Klicken Sie mit der rechten Maustaste auf Ihren Kontonamen im Bereich "Konten" der Systemeinstellungen 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.

Tim
quelle
4

Ich hatte das gleiche problem; Ein Neustart hat den Trick für mich getan. Ich bin es nicht gewohnt, das auf einem Mac zu tun :-P

atraudes
quelle
Das gleiche gilt für mich (bei Lion). Andere Apps haben sich so verhalten (wie BBEdit), also dachte ich, ich würde zuerst einen Neustart versuchen und es funktionierte.
Nevan King
3

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

Führen Sie einfach Repair Disk Permission mit dem Festplatten-Dienstprogramm aus :-).

hobbes3
quelle
3

Das Ändern meines Benutzerkontokennworts über die Systemeinstellungen hat dies für mich behoben (ich habe es auf denselben Wert geändert, wodurch das Betriebssystem vermutlich nur gezwungen wurde, einige Benutzerkontoinformationen in Dateien zu schreiben). Ich verwende Mac OS X 10.7.3 und keine Dateien in / etc scheinen geändert worden zu sein.

Adam Nohejl
quelle
2

In meinem Fall war es nützlich, die Antworten von Tim und chemm zu kombinieren .

Ich habe Tims Ansatz verwendet, um ein Terminal mit einer anderen Shell aufzurufen. Ich habe dann / etc / shells bearbeitet , um die bevorzugte Shell einzuschließen, und dann Tims Ansatz erneut verwendet, um den ursprünglichen Shell-Pfad in den "Erweiterten Optionen" wiederherzustellen.

Frank
quelle
2

Ich hatte das gleiche problem Time Machine hat sich /private/etc/shellswährend meiner Wiederherstellung aus irgendeinem Grund in eine Datei mit der Länge Null verwandelt . chemms antwort ist ziemlich gut, aber für mac-noobies wie mich fehlen ein paar schritte.

  • Um überhaupt zu /private/etcIhnen zu gelangen, müssen Sie die Finder-Menüoption verwenden Go -> Go to Folderund eingeben/private/etc
  • Suchen Sie dann die Shells-Datei.
  • Es würde mir nicht erlauben, die Datei zu bearbeiten, also habe ich sie gelöscht.
  • Dann habe ich Time Machine verwendet, um diese Datei wiederherzustellen.
  • Wenn Sie die Zeitmaschine im Finder eingeben, werden Sie in diesem /private/etcOrdner gestartet .
  • Als ich es wiederherstellte, konnte ich nicht herausfinden, wie Time Machine zu diesem Ordner geleitet werden kann (es wurde keine Option zum Wechseln zu Ordnern angezeigt). Daher stellte ich "Shells" auf meinem Desktop wieder her und verwendete Finder zum Kopieren / Einfügen der Datei /private/etc

Sie müssen Ihr Passwort einige Male eingeben, um das oben genannte zu erreichen, und Sie müssen wahrscheinlich über ein Administratorkonto verfügen.

user33466
quelle
0

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

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

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

Howard Nebeck
quelle