Shell interdit
Par Florent Bruneau le vendredi 13 avril 2007, 16:20:00 - Général - Lien permanent
Etant donné que Etch est sorti et propose désormais zsh à la version 4.3.2, je me suis dit que le moment était venu de passer en UTF-8. En effet, zsh 4.3 est la première version de ce shell à supporter UTF-8. La migration en UTF-8 n'a pas spécialement posé de problème non plus sur mes Macs.
En effet, le passage à zsh 4.3 sur Mac OS se résume à deux étapes :
- compiler
zsh-develavecport(port install zsh-devel +utf8) - changer mon shell en mettant
/opt/local/bin/zsh(en passant par l'utilitaire NetInfo)
Et là... tout va bien. Pomme+N pour relancer une nouvelle fenêtre du Terminal de Mac OS me lance bien un zsh 4.3 avec UTF-8.
Par contre, il m'a fallu redémarrer ma machine... et là au démarrage j'ai la fenêtre suivante :

Sans réfléchir, je décide de changer de shell depuis mon autre machine... en ssh. Et j'ai réalisé après coup que le shell s'est correctement lancé dans mon ssh... il s'agit donc d'une restriction imposée par Terminal !
Je remplace donc mon /bin/zsh par un lien symbolique vers /opt/local/bin/zsh, change mon shell via chsh -s /bin/zsh, et là, Terminal fonctionne de nouveau.
Merci Apple pour cette restriction débile...
Commentaires
Il faut ajouter "/opt/local/bin/zsh" à "/etc/shells" pour régler "proprement" ce problème (si Apple met zsh à jour dans une mise à jour future de zsh, cela ne fonctionnera plus).
Ce qui reste débile c'est que j'ai pu modifier ce shell, et l'utiliser sans problème... la restriction n'a rien à faire au niveau de l'application Terminal, elle devrait être plus bas niveau.
Il est préférable d'utiliser chsh pour changer son shell, comme sous tout autre système unix ;)