No se puede activar Zsh instalado por MacPorts
Pregunta
Puse Zsh sin éxito instalado por MacPorts como mi shell de inicio de sesión configurando la siguiente ruta a Configuración
/opt/local/bin/zsh
También lo puse en Opciones avanzadas en las cuentas de usuario. Obtuve el siguiente error texto alternativo http://dl.getdropbox.com/u/175564/macportsError.png
Puse la siguiente ruta sin éxito a Configuración
/opt/local/var/macports/software/zsh/4.2.7_0+mp_completion
Me sale el siguiente error cuando vuelvo a iniciar mi shell
login: /opt/local/var/macports/software/zsh/4.2.7_0+mp_completion: Permission denied
[Process completed]
¿Cómo puedes activar tu Zsh como shell de inicio de sesión?
Solución
Como dice Norbert, creo que la respuesta está en / etc / shells. El mío tiene esto:
# 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
Agrega / opt / local / bin / zsh
a esa lista, y estarás bien. Entonces deberías poder cambiar el shell (individualmente para cada usuario) usando chsh
.
Otros consejos
¿Ingresó el shell en / etc / shells. Parece que Mac OS gestiona los shells válidos allí. No puedo decir exactamente porque no estoy en Mac
Sé que esta pregunta fue marcada como contestada, pero
/opt/local/var/macports/software/zsh/4.2.7_0+mp_completion
ni siquiera es un archivo ejecutable en macports. Es por eso que tienes el error. Los shells deben ser ejecutables.
Querías configurar tu shell en / opt / local / bin / zsh.
Esto me funcionó tanto en Leopard como en Snow Leopard. OSX no usa realmente / etc para la administración de la configuración, usa NetInfo (Leopard) y ahora usa Directory Services (Snow Leopard). Quería configurarlo haciendo clic derecho en su usuario en Preferencias del sistema > Cuentas, (S.L.) o utilizando Netinfo Manager (Leopard)
EDITAR:
Snow Leopard: sudo dscl. -create / Users / chiggsy UserShell / opt / local / bin / zsh
(crear crea o actualizar)
EDITAR: Por favor, imagíname cubierto de vergüenza asquerosa y apestosa. Estoy usando iTerm, y cambiar el shell en mi cuenta funcionó perfectamente. En la Terminal, obtuve el mismo resultado que el OP y lo arreglé editando / etc / shells. Ahora, me parece que no debería poder evitar la restricción / etc / shells simplemente usando un terminal de terceros, pero parece que ese es el caso.