3

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

4

Весь смысл /etc/shells состоит в том, что администратор может контролировать то, что пользователи устанавливают в качестве своей оболочки. Поэтому установка оболочки, которая не указана в /etc/shells была бы дырой в безопасности. Лучшее решение - попросить администратора установить zsh для всей системы, но если это невозможно, единственным вариантом является настройка вашей текущей оболочки (я полагаю, bash) для выполнения вашей пользовательской оболочки. Вы можете сделать это, добавив следующее в ~/.bash_profile (это повлияет только на оболочки входа в систему, тогда как ~/.bashrc также повлияет на оболочки не входа в систему, что может нарушить работу сценариев).

exec ~/bin/zsh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .