2009-04-30 12 views
2

Ich habe erfolglos von MacPorts als meine Login-Shell Zsh installiert werden, indem Sie den folgenden Pfadkann nicht von MacPorts Zsh installiert aktivieren

/opt/local/bin/zsh 

ich es den erweiterten Optionen setzen auf die Benutzerkonten auch auf Einstellungen festlegen. Ich erhalte die folgende Fehler alt text http://dl.getdropbox.com/u/175564/macportsError.png

ich den folgenden Pfad

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

ich die folgende Fehlermeldung erhalten erfolglos auf Einstellungen setzen, wenn ich meine Shell wieder

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

[Process completed] 

Wie beginnen Sie aktivieren sie Zsh als Login-Shell?

Antwort

3

Wie Norbert sagt, ich denke, die Antwort ist in/etc/Shells. Mine hat dies:

# List of acceptable shells for chpass(1). 
# Ftpd will not allow users to connect who are not using 
# one of these shells. 

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

hinzufügen /opt/local/bin/zsh auf dieser Liste, und Sie sollten in Ordnung sein. Sie sollten dann in der Lage sein, die Shell (individuell für jeden Benutzer) mit chsh zu ändern.

+0

Ich finde heraus, dass Mac standardmäßig Zsh 4.3.4 hat. Die von MacPorts installierte Version ist die Version 4.2.7. - - Mein anfängliches Problem bestand darin, Tabulatorvervollständigungen für alle Programme zu haben. Beachten Sie, dass Sie Tabulatorvervollständigungen haben können, ohne die Zsh von MacPorts zu verwenden, indem Sie Folgendes in Ihr .zshrc: autoload -U-compinstall-Programm einfügen. Es hat mein Problem endlich gelöst. –

1

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

1

Ich weiß, diese Frage beantwortet wurde markiert, aber

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

ist nicht einmal eine ausführbare Datei in Macports. Deshalb hast du den Fehler bekommen. Shells müssen ausführbar sein.

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

Dies funktionierte für mich sowohl in Leopard und im Schneeleopard. OSX verwendet nicht/etc für das Konfigurationsmanagement, es verwendet NetInfo (Leopard) und verwendet jetzt Directory Services (Snow Leopard). Sie wollten, dass in den Systemeinstellungen mit der rechten Maustaste auf Ihre Benutzer setzen in> Konten, (S. L.) oder durch Netinfo Manager (Leopard)

EDIT:

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

(erstellen erstellt oder aktualisiert)

EDIT: Bitte Bild mich in Foul bedeckt, Scham stinkend. Ich benutze iTerm, und das Ändern der Shell in meinem Konto funktionierte einwandfrei. Im Terminal habe ich das gleiche Ergebnis wie das OP bekommen, und es durch Bearbeiten von/etc/shells behoben. Nun scheint es mir, dass ich nicht in der Lage sein sollte, die Beschränkung von/etc/shells zu umgehen, indem ich einfach ein Terminal eines Drittanbieters verwende, aber das scheint der Fall zu sein.

+0

iTerm hat Ihre Login-Shell * oder * bypass/etc/shells in keiner Weise geändert. Es wird nur festgelegt, welche Shell iTerm ausführt. – graywh

Verwandte Themen