У мене дивна ситуація. Я використовую Mac OS X 10.11 (El Capitan) та iTerm2.
Zsh за замовчуванням вказано в /etc/shells
як /bin/zsh
, і це дозволяє мені використовувати Zsh без проблем у моєму стандартному обліковому записі.
Однак, коли я brew install
Zsh, а потім використовую chsh
або System Preferences -> User Groups -> etc
, я отримую login: /usr/local/bin/zsh: Permission denied
помилку. Це після додавання /usr/local/bin/zsh
до /etc/shells
.
Я зіткнувся з тією ж проблемою і з Fish , яка насправді є оболонкою, яку я вважаю за краще використовувати. Тепер я можу використовувати оболонку без будь-яких проблем, коли я входжу su
до облікового запису з доступом адміністратора, але я не можу використовувати ці оболонки в моєму стандартному обліковому записі.
Як я вже згадував раніше, шляхи додаються /etc/shells
і я встановив дозволи до 755, але мені все одно не пощастило.
Чи я тут щось неправильно роблю? Або я повинен просто використовувати обліковий запис адміністратора, щоб скористатися цими оболонками?
Це насправді розчаровує, оскільки я ціную підвищену безпеку роботи в стандартному обліковому записі, але це не в змозі отримати найкращі оболонки за межами мого облікового запису адміністратора.
Хочу підкреслити, що я можу змусити Zsh працювати над моїм стандартним обліковим записом лише під час використання шляху, встановленого за замовчуванням, який знаходиться /bin/zsh
в /etc/shells
. Це змушує мене запитати, чи є якась проблема із тим, як знаходиться шлях /usr/local/bin/zsh
.
Однак це за замовчуванням, тому мені цікаво, чи є інші, хто з успіхом використовує стандартний акаунт з рибою або завареним zsh.
Я не знайшов документації щодо цього.
chsh -s $SHELL
chsh -s $(which zsh)
. Я щойно спробував це в Mac OS X 10.9.5 - просто використовуючи Bash-варіант - chsh -s $(which bash)
і він працює чудово. Все $SHELL
- це значення вашої поточної оболонки. Тому chsh -s $SHELL
просто встановив би поточну оболонку на змінену оболонку, що призведе до chsh: no changes made
.
$SHELL
в якості резервного для загальної оболонки. Коли я використовую команду в El Capitan, вона дає мені помилку використання
chsh -s $(which zsh)
стандартного користувача повинно дозволяти вам змінювати оболонку.