Я пытаюсь изменить Войти скорлупа Mac OS X от bash
до zsh
. Я вижу, что это возможно в Mac OS X Leopard , но для OS X Lion я не могу найти способ. Я действительно надеюсь, что можно изменить оболочку входа с bash на что-то другое. Я не совсем уверен, где искать.
90
if [ -x /usr/local/bin/zsh ] ; then exec /usr/local/bin/zsh fi
, Подсказка, при изменении сценариев запуска оболочки, убедитесь, что оболочка запущена и запустите новую в другом окне - если вы сломаете ее, у вас все еще будет простое место для ее исправления.Ответы:
Вы можете изменить пользовательскую оболочку с помощью следующей команды:
Примечание: чтобы изменить его для нестандартной оболочки, убедитесь, что его путь был добавлен в
/etc/shells
файл.источник
/usr/local/bin/zsh
. К сожалению, chsh не позволяет этого сказатьchsh: /usr/local/bin/zsh: non-standard shell
. Ответ Даниэля Бека является подходящим решением в этом случае./usr/local/bin/zsh
к ним,/etc/shells
и это должно решить эту проблему.==> Caveats To use this build of Zsh as your login shell, add it to /etc/shells.
/etc/shells
принадлежит и доступен для записи только пользователю root (суперпользователь). Вы можете, например, использоватьsudo vi /etc/shells
для использованияsudo
( s uper u ser do ), чтобы запуститьvi
редактор для редактирования/etc/shells
. Я только что проверил свою систему и подтвердил, что она НЕ защищена Системной защитой целостности, поэтому вы должны иметь возможность редактировать ее как root, не перепрыгивая через обручи, чтобы отключить SIP.Как ни странно, тот же метод, на который вы ссылаетесь в своем вопросе, все еще работает в OS X Lion через Sierra (10.12). Единственное отличие: панель настроек называется « Пользователи и группы», а не « Учетные записи» .
источник
Или же:
источник
brew install zsh
.sudo dscl . change /users/$USER UserShell /bin/bash $(which zsh)
Если кто-то задается вопросом, такая же проблема возникает в macOS Sierra, и следующая команда позволила мне без проблем изменить оболочку:
источник