Doğru cevap, sorununuzu çözmüş olmalıydı:
chsh: / usr / bin / zsh: standart olmayan kabuk
Bunun nedeni, aşağıdaki chsh
kılavuzları okuyarak görebileceğiniz gibi, yalnızca / etc / shells dosyasında tanımlanan kabukları kabul edecek olmasıdır chsh
:
chsh, sistemdeki herhangi bir çalıştırılabilir dosyanın tam yol adını kabul eder. Ancak, kabuk / etc / shells dosyasında listelenmemişse bir uyarı verecektir.
Bu sorunu çözmek ve zsh'yi varsayılan kabuk yapmak için, şu şekilde yapmalısınız:
$ sudo echo "$(which zsh)" >> /etc/shells
$ chsh -s $(which zsh)
Açıkçası, zsh
burada yolunuzun bu olduğunu varsayıyorum . Bu çözüm, örneğin en son sürümü zsh
ile yüklemeyi seçerseniz de işe yarar brew install zsh
.
DÜZENLE (yorum için ThisIsFlorianK için teşekkürler) :
Kabuk kurulumunuza bağlı olarak bir mesaj alabilirsiniz /etc/shells: Permission denied
. Bu konuyla ilgili bilgileri burada bulabilirsiniz.
Bunu çözmek için bunun yerine aşağıdakileri kullanın:
$ sudo sh -c "echo $(which zsh) >> /etc/shells"
$ chsh -s $(which zsh)
chsh -l
çıktı? (Bu işe yaramazsa, içeriği/etc/shells
nedir?) Bunun başarısız olduğundan ve sadece uyarı olmadığından emin misiniz?/usr/bin/zsh
Oraya eklemek bu işi yapar mı?