Невозможно сделать ZSH оболочкой по умолчанию

68

Я пытаюсь установить ZSH в качестве моей оболочки по умолчанию, однако он продолжает возвращаться к bash.

Я пробовал этот код:

sudo chsh -s $(which zsh)

Я также пробовал:

sudo chsh -s /bin/zsh 

Также пробовал эти команды без sudo. Любые идеи о том, что мне еще нужно делать. При запуске ZSH из bash он загружается и работает отлично, но я хотел бы установить его как оболочку по умолчанию.

    
задан Tom 05.05.2012 в 04:42
источник

5 ответов

119

Если вы используете sudo , он изменит оболочку не для вашего рабочего пользователя, а для root . Просто используя

chsh -s $(which zsh)

без sudo должно работать.

Наконец, выйдите из своего компьютера и войдите в систему.

    
ответ дан Florian Diesch 05.05.2012 в 05:55
источник
27

Я нашел это в суперпользователя форум

Открыть / etc / passwd:

sudo vi /etc/passwd

Найдите строку с вашим именем пользователя:

username:x:1634231:100:Your Name:/home/username:/bin/bash

и замените bash на zsh:

username:x:1634231:100:Your Name:/home/username:/bin/zsh

Выйдите из системы и войдите в систему, чтобы изменения вступили в силу.

    
ответ дан Shailesh Kalamkar 11.08.2015 в 07:29
3

Если zsh не является / bin / zsh, то chsh не будет работать. На Ubuntu это / usr / bin / zsh. так что chsh -s /usr/bin/zsh или chsh -s 'which zsh' должны работать. Также необходимо повторно войти в сеанс рабочего стола.

    
ответ дан jbp 27.01.2014 в 01:58
0

Вы также можете сделать это:

откройте файл bashrc в своем любимом редакторе

sudo nano ~/.bashrc

затем добавьте строку ниже верхней части файла

exec zsh

Он будет выполнять команду каждый раз, когда вы загружаете терминал и запускаете свою оболочку zsh.

    
ответ дан Saddam H 11.03.2016 в 16:10
0

Странно, «принятый» ответ не сработал для меня, поскольку я получил

chsh: PAM: Authentication failure

Чтобы решить эту проблему, отредактируйте файл / etc / passwd и убедитесь, что он указывает на местоположение zsh. (Вы можете найти это, запустив «which zsh»). В моем случае мой пользователь, называемый «веб-мастером», выглядел так:

webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh
    
ответ дан John Crawford 19.12.2014 в 14:59