在Veewee脚本中更改shell

时间:2013-01-23 01:58:38

标签: ubuntu-12.04 vagrant veewee

我正在使用Veewee(ubuntu 12.04)构建我的第一个Vagrant盒子,并且,大约95%的方式,我被困在某事上。我有一个自定义的安装后脚本,在postinstall.sh之后调用,它构建了我首选的用户环境。它...

  • 安装curl,zsh& GIT中
  • 安装oh-my-zsh
  • 撰写自定义主题文件
  • 编写自定义.zshrc文件

所有这一切似乎都没问题,但下一个合乎逻辑的步骤是改变我的shell,以便在我第一次vagrant ssh时它已经准备好了,但是我是卡住。此脚本的最后一行是chsh -s /usr/bin/zsh,但它不会。难道我做错了什么?还有另一种从脚本中更改shell的方法吗?我想我可以用sed更新/etc/passwd,但是......呃。如果它能以比这更清洁的方式完成,那就太好了。

此外,在尝试解决此问题时,我发现了另一个可能的问题。我没有无密码的sudo访问权限。在打包的postinstall.sh脚本中,我看到它正在运行设置以实现这一点,但在12.04中,至少/etc/sudoers是只读的,这可能会阻止更改。

其他人注意到了这些事情?有关如何解决这些问题的任何提示?我的搜索没有任何结果。

感谢。

1 个答案:

答案 0 :(得分:0)

这对我来说在安装Ubuntu 12.04.3和Vagrant(又名“exact32”)时起作用了:因为默认的流浪汉密码只是“流浪汉”:

echo "vagrant" | chsh -s /bin/zsh