Mac OS X 上多个管理员用户的 Brew + Zsh + Oh My Zsh 的正确设置是什么?

What is the correct setup for Brew + Zsh + Oh My Zsh on multiple admin users on Mac OS X?

我的问题是 运行 两个管理员帐户在 运行ning HomebrewZsh 和 [=14= 方面开发的好方法是什么] 并配置 .zshrc 文件?

我这样做的原因是我最近开始了一份新工作,想使用我的 Mac 两个帐户,这两个帐户都是管理员,我都需要 devtools 以保持我的工作 life/dev 和个人 life/dev 完全分开。我刚刚擦除我的硬盘并干净地安装了 OS X 10.12.3 并创建了两个管理员帐户。

我尝试过设置它,但是每当我切换帐户和 运行 终端时,总是出现权限错误,通常特定于 zsh 完成。

我的步骤:

  1. 在两个用户上安装 Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 用 brew brew install zsh 安装 zsh 并更改为 chsh -s /bin/zsh.
  3. 通过 sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)".
  4. 安装 oh my zsh with curl
  5. 运行 sudo chown -R $(whoami):admin /usr/local.

然后我尝试了一堆乱七八糟的东西,我不会添加这些东西,因为我相信它们只会让其他人走上黑暗的道路。

虽然此步骤对于 运行 作为 root 是安全的,但我仍然建议 运行 以非 root 用户身份进行安装,以防止 root 切换 shell 时出现灾难性问题,同时 shell 不工作。永远不要更改超级用户 shell。

这是为多个用户安装 oh-my-zsh 的正确方法。

第1步:确保umask不比022更严格。如果不设置为022。

$ umask 022

第 2 步:使用将安装共享 oh-my-zsh 的目标路径设置和导出 ZSH。

export ZSH=/usr/local/.zsh/oh-my-zsh

第 3 步:创建父目录并使其归安装脚本的用户所有。

$ sudo mkdir /usr/local/.zsh
$ sudo chown ${USER} /usr/local/.zsh

第 4 步:运行 安装程序。

$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

第 5 步:将安装路径的所有权更改回 root。

$ sudo chown -R root /usr/local/.zsh

第 6 步:更新 ZSH 在 ${ZSH}/templates/zshrc.zsh-template

中的位置
$ sudo sed -i 's|export ZSH=.*|export ZSH='${ZSH}'|' ${ZSH}/templates/zshrc.zsh-template

(可选) 第 7 步:禁用自动更新。建议这样做,因为安装现在归 root 所有。

$ sudo sed -i 's/# DISABLE_AUTO_UPDATE="true"/DISABLE_AUTO_UPDATE="true"/' ${ZSH}/templates/zshrc.zsh-template

从这里开始,每个用户都可以将${ZSH}/templates/zshrc.zsh-template复制为~/.zshrc

虽然@alvits 的回答可能是正确的,但我无法让它为我工作。但是,我能够通过执行以下操作使其正常工作。

安装 Homebrew(检查 https://brew.sh/ 以获取最新命令):

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

使用 Homebrew 安装 Zsh:

brew install zsh

关闭终端并默认使用 ZSH 重新打开 shell:

以 root 用户身份安装 Oh My Zsh

sudo su

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

关闭终端以退出 root 用户模式。

以每个管理员身份安装 Oh My Zsh(因此在两个用户上安装):

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

这为我阻止了所有自动完成和权限错误。我认为这有点矫枉过正,并且有一种方法可以使用符号链接,但是这种方法很简单。