2009-04-30 8 views
2

je mets sans succès zsh installé par MacPorts comme mon shell de connexion en définissant le chemin suivant ParamètresImpossible d'activer zsh installé par MacPorts

/opt/local/bin/zsh 

je l'ai mis aux options avancées aux comptes d'utilisateurs aussi. Je reçois l'erreur suivante alt text http://dl.getdropbox.com/u/175564/macportsError.png

je mets le chemin suivant sans succès Paramètres

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

que je reçois l'erreur suivante quand je commence ma coquille à nouveau

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

[Process completed] 

Comment pouvez-vous activer votre Zsh en tant que shell de connexion?

Répondre

3

Comme Norbert le dit, je pense que la réponse est dans/etc/shells. Le mien a ceci:

# 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 

Ajouter /opt/local/bin/zsh à cette liste, et vous devriez être bien. Vous devriez alors pouvoir changer le shell (individuellement pour chaque utilisateur) en utilisant chsh.

+0

Je trouve que Mac a par défaut Zsh 4.3.4. Celui installé par MacPorts est la version 4.2.7. - - Mon problème initial était d'avoir terminé les tabulations pour tous les programmes. Notez que vous pouvez avoir terminé les tabulations sans utiliser Zsh de MacPorts en mettant les éléments suivants dans votre fichier .zshrc: autoload -U compinstall. Il a finalement résolu mon problème. –

1

Avez-vous entré le shell dans/etc/shells? Il semble que Mac OS gère les coquilles valides là-bas. Je ne peux pas dire exactement parce que je ne suis pas sur Mac

1

Je sais que cette question a été marquée répondu, mais

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

est même pas un fichier exécutable dans macports. C'est pourquoi vous avez l'erreur. Les coquilles doivent être exécutables.

Vous vouliez définir votre shell sur/opt/local/bin/zsh.

Cela a fonctionné pour moi à la fois dans Léopard et dans le léopard des neiges. OSX n'utilise pas réellement/etc pour la gestion de configuration, il utilise NetInfo (Leopard) et maintenant il utilise les services d'annuaire (Snow Leopard). Vous voulez régler que par un clic droit sur votre utilisateur dans Préférences Système> Comptes, (S.L.) ou en utilisant Netinfo Manager (Leopard)

EDIT:

Snow Leopard: sudo dscl. -créer/Utilisateurs/chiggsy UserShell/opt/local/bin/zsh

(créer ou crée des mises à jour)

EDIT: S'il vous plaît moi photo couvert de faute, la honte puant. J'utilise iTerm, et le changement de shell dans mon compte a fonctionné parfaitement. Dans Terminal, j'ai obtenu le même résultat que l'OP, et je l'ai corrigé en éditant/etc/shells. Maintenant, il me semble que je ne devrais pas être capable de contourner la restriction/etc/shells en utilisant simplement un terminal tiers, mais il semble que ce soit le cas.

+0

iTerm n'a pas modifié votre shell de connexion * ou * bypass/etc/shells de quelque façon que ce soit. Il définit simplement votre préférence pour quelle shell iTerm s'exécute. – graywh

Questions connexes