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

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