
Как мне изменить свою оболочку на ту, что установлена в моем домашнем каталоге? Я установил новую zsh в свой домашний каталог, которая подхватывается:
>> which zsh
>> /home/myname/bin/zsh
Его нет в списке /etc/shells (и не будет, поскольку у меня нет прав). Как его установить?
chsh -s $(which zsh) myname
Changing shell for myname
Password:
chsh: "/home/myname/bin/zsh" is not listed in /etc/shells
chsh: use -l option to see list
решение1
Весь смысл в /etc/shells
том, чтобы администратор мог контролировать, что пользователи устанавливают в качестве своей оболочки. Установка оболочки, которая не указана в, /etc/shells
следовательно, будет дырой в безопасности. Лучшим решением будет попросить администратора установить zsh для всей системы, но если это невозможно, ваш единственный вариант — настроить вашу текущую оболочку (я предполагаю, bash) для выполнения вашей пользовательской оболочки. Вы можете сделать это, добавив следующее ~/.bash_profile
(это повлияет только на оболочки входа, тогда как ~/.bashrc
также повлияет на оболочки без входа, что может нарушить работу скриптов).
exec ~/bin/zsh