2009-04-30 92 views
2

装岩组,我把没有成功的MacPorts安装岩组为我登录shell设置以下路径设置无法激活通过MacPorts的

/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 

我得到当我开始我的外壳下面的错误再次

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

[Process completed] 

你怎么能激活Zsh作为登录shell?

回答

3

由于诺伯特说,我想答案是在/ etc /炮弹。该矿拥有这样的:

# 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更改外壳(单独为每个用户)。

+0

我发现,苹果在默认情况下岩组4.3.4。 MacPorts安装的是4.2.7版本。 - - 我最初的问题是所有程序都有制表符完成。请注意,通过将以下内容放入.zshrc中,您可以在不使用MacPorts的Zsh的情况下使用Tab完成:autoload -U compinstall。它终于解决了我的问题。 – 2009-04-30 18:02:57

1

你参加外壳到/ etc/shells中。看来,Mac OS在那里管理有效的shell。我不能告诉正是因为我无法在Mac

1

我知道这个问题被打上回答,但

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

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

你想设置你的shell到/ opt/local/bin目录/ zsh中。

这无论是在Leopard和Snow Leopard中的工作对我来说。 OSX实际上不使用/ etc进行配置管理,它使用NetInfo(Leopard),现在它使用目录服务(Snow Leopard)。你想设置在通过右键单击系统预置>帐户,(S.L.)用户或使用NetInfo管理(豹)

编辑:

雪豹:须藤DSCL。 -create /用户/ chiggsy UserShell的/ opt/local/bin目录/ zsh的

(创建创建或更新)

编辑:请想象着我浑身臭,臭烘烘的耻辱。我正在使用iTerm,并且在我的帐户中更改外壳的工作完美无瑕。在终端中,我得到了与OP相同的结果,并通过编辑/ etc/shells来修复它。现在看来,我认为我不应该能够通过简单地使用第三方终端绕过/ etc/shells中的限制,但它似乎是这样。

+0

iTerm没有以任何方式更改您的登录shell *或*绕过/ etc/shells。它只是设置你的首选外壳iTerm运行。 – graywh 2010-09-27 14:40:32