无法激活MacPorts安装的Zsh

时间:2009-04-30 16:13:54

标签: macos zsh macports

我通过将以下路径设置为设置

,将MacPorts安装的Zsh失败作为我的登录shell
/opt/local/bin/zsh

我也把它放在用户帐户的高级选项中。我收到以下错误 alt text http://dl.getdropbox.com/u/175564/macportsError.png

我将以下路径设置为

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

当我再次启动shell时出现以下错误

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

[Process completed]

如何将Zsh激活为登录shell?

3 个答案:

答案 0 :(得分:3)

正如Norbert所说,我认为答案在/ etc / shells中。我有这个:

# 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

/opt/local/bin/zsh添加到该列表中,您应该没问题。然后,您应该能够使用chsh更改shell(为每个用户单独更改)。

答案 1 :(得分:1)

您是否已将shell输入/ etc / shells。似乎Mac OS在那里管理有效的shell。我不能确切地说,因为我不在Mac上

答案 2 :(得分:1)

我知道这个问题已被标记为已回答,但是

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

甚至不是macports中的可执行文件。这就是你得到错误的原因。壳必须是可执行的。

您想将shell设置为/ opt / local / bin / zsh。

这对Leopard和雪豹都有用。 OSX实际上不使用/ etc进行配置管理,它使用NetInfo(Leopard),现在它使用目录服务(Snow Leopard)。您想通过在“系统偏好设置”>中右键单击您的用户来设置该设置。账户,(S.L。)或使用Netinfo Manager(Leopard)

编辑:

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

(创建或更新)

编辑:请把我描绘成犯规,发臭的耻辱。我正在使用iTerm,并且在我的帐户中更改shell工作完美无瑕。在Terminal中,我得到了与OP相同的结果,并通过编辑/ etc / shells修复了它。现在,在我看来,我不应该通过简单地使用第三方终端来绕过/ etc / shells限制,但似乎就是这种情况。