3 Stimmen

Konnte Zsh nicht aktivieren, die von MacPorts installiert wurde.

Ich habe erfolglos versucht, Zsh über MacPorts als meine Anmeldeshell zu installieren, indem ich den folgenden Pfad in den Einstellungen festgelegt habe

/opt/local/bin/zsh

Ich habe es auch in den erweiterten Optionen der Benutzerkonten festgelegt. Ich erhalte den folgenden Fehler alt text http://dl.getdropbox.com/u/175564/macportsError.png

Ich habe den folgenden Pfad erfolglos in den Einstellungen festgelegt

/opt/local/var/macports/software/zsh/4.2.7_0+mp_completion

Ich erhalte den folgenden Fehler, wenn ich meine Shell erneut starte

login: /opt/local/var/macports/software/zsh/4.2.7_0+mp_completion: Permission denied

[Process completed]

Wie aktivieren Sie Zsh als Anmeldeshell?

3voto

Telemachus Punkte 18969

Wie Norbert sagt, glaube ich, dass die Antwort in /etc/shells zu finden ist. Meine Datei sieht so aus:

# Liste der akzeptierten Shells für chpass(1).
# Ftpd lässt Benutzer nicht zu, die keine
# dieser Shells benutzen.

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

Füge /opt/local/bin/zsh zu dieser Liste hinzu, und du solltest in Ordnung sein. Du solltest dann in der Lage sein, die Shell (individuell für jeden Benutzer) mit chsh zu ändern.

2voto

chiggsy Punkte 7685

Ich weiß, dass diese Frage als beantwortet markiert wurde, aber

/opt/local/var/macports/software/zsh/4.2.7_0+mp_completion

ist nicht einmal eine ausführbare Datei in MacPorts. Deshalb haben Sie den Fehler bekommen. Shells müssen ausführbar sein.

Sie wollten Ihre Shell auf /opt/local/bin/zsh setzen.

Dies hat bei mir sowohl auf Leopard als auch auf Snow Leopard funktioniert. OSX verwendet tatsächlich nicht /etc für die Konfigurationsverwaltung, sondern verwendet NetInfo (Leopard) und jetzt verwendet es Verzeichnisdienste (Snow Leopard). Sie wollten das einstellen, indem Sie mit der rechten Maustaste auf Ihren Benutzer in den Systemeinstellungen > Konten (SL) geklickt haben oder den Netinfo Manager (Leopard) verwendet haben.

BEARBEITEN:

Snow Leopard: sudo dscl . -create /Users/chiggsy UserShell /opt/local/bin/zsh

(Erstellen erstellt oder aktualisiert)

BEARBEITEN: Bitte stellen Sie sich vor, wie ich mit schmutziger, stinkender Schande bedeckt bin. Ich benutze iTerm und das Ändern der Shell in meinem Konto hat einwandfrei funktioniert. In Terminal habe ich das gleiche Ergebnis wie der Fragesteller erhalten und es durch Bearbeiten von /etc/shells behoben. Jetzt scheint es mir, dass ich die /etc/shells-Einschränkung nicht einfach umgehen können sollte, indem ich einfach ein Terminal von einem Drittanbieter verwende, aber anscheinend ist das der Fall.

1voto

Norbert Hartl Punkte 10085

Hast du die Shell in /etc/shells eingegeben? Es scheint, dass Mac OS die gültigen Shells dort verwaltet. Ich kann es nicht genau sagen, weil ich nicht auf einem Mac bin

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X