3

通过将以下路径设置为 Settings,我将 MacPorts 安装的未成功 Zsh 作为我的登录 shell

/opt/local/bin/zsh

我也把它放在用户帐户的高级选项中。我收到以下错误 替代文本 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?

4

3 回答 3

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.

于 2009-04-30T16:30:20.117 回答
2

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

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

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

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

这在 Leopard 和雪豹中都对我有用。OSX 实际上并没有使用 /etc 进行配置管理,它使用 NetInfo (Leopard),现在它使用 Directory Services (Snow Leopard)。您想通过在“系统偏好设置”>“帐户”(SL) 中右键单击您的用户或使用 Netinfo Manager (Leopard) 来设置它

编辑:

雪豹: sudo dscl 。-create /Users/chiggsy UserShell /opt/local/bin/zsh

(创建创建或更新)

编辑:请想象我浑身脏兮兮的,臭不可闻的耻辱。我正在使用 iTerm,并且在我的帐户中更改外壳程序完美无缺。在终端中,我得到了与 OP 相同的结果,并通过编辑 /etc/shells 来修复它。现在,在我看来,我不应该通过简单地使用 3rd 方终端来绕过 /etc/shells 限制,但似乎确实如此。

于 2009-10-31T23:25:27.590 回答
1

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

于 2009-04-30T16:25:23.967 回答