Использовать оболочку, установленную пользователем?

Использовать оболочку, установленную пользователем?

Как мне изменить свою оболочку на ту, что установлена ​​в моем домашнем каталоге? Я установил новую 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

Связанный контент