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