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

1874
ash

Как мне изменить мою оболочку на ту, которая установлена ​​в моем домашнем каталоге? Я установил новый 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 
3
Возможно, вы могли бы `exec zsh` в вашем bashrc? 12 лет назад 0
@cnicutar Это работает, спасибо, но кажется немного взломать. Почему я не могу сделать это правильно, потому что системные администраторы не хотят, чтобы пользователи облажались? ash 12 лет назад 0
Я не знаю причины `/ etc / shells`, скажи, если узнаешь. 12 лет назад 0
Посмотрите этот ответ, чтобы узнать, каким образом можно запустить zsh из bash. Http://superuser.com/a/560732/175441 Francisco 11 лет назад 0

1 ответ на вопрос

4
mgorven

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

exec ~/bin/zsh 
Если вы работаете в администрируемой системе, и системный администратор говорит «нет» установке zsh, я бы дважды подумал - и * определенно * попросил у администратора разрешения - перед локальной установкой zsh. Назовите меня параноиком, но спрашивать первым, безусловно, лучше, чем получать предупреждение за нарушение политики компании ... DevSolar 11 лет назад 0

Похожие вопросы