chsh -s / usr / bin / zsh çalışmıyor


24

chshKomutu kullanarak kabuğumu kalıcı olarak zsh olarak değiştirmeye çalışıyorum , ancak çalışmıyor.

zsh yüklenir (apt aracılığıyla) ve doğrudan bir bash komut isteminden çağırdığımda düzgün çalışıyor. Ancak zsh'i terminallerde varsayılan olarak yükleyemiyorum ve chsh garip bir şey yapıyor:

$ echo $SHELL
/bin/bash
$ which zsh
/usr/bin/zsh
$ chsh -s /usr/bin/zsh
Password: 
$ echo $SHELL
/bin/bash
$ grep kurtosis /etc/passwd
kurtosis:x:1000:1000:kurtosis,,,:/home/kurtosis:/usr/bin/zsh

Görünüşe göre chsh / etc / passwd dosyasını doğru bir şekilde değiştirmeyi başardı, ancak $ SHELL env değişkenini değil. Bu nedenle, yeni terminaller herzaman zsh değil bash ile başlar.

Bu sorunu gidermek için nereye bakacağımı bilmiyorum. .bashrc, Kabuk belirtilinceye kadar çağrılmadı mı? Herhangi bir yardım takdir etti.


1
Sisteme tekrar giriş yaptıktan sonra kabuğu değiştiremiyor musunuz?
vine_user

Bu cevabı kontrol et .
Pablo A

Yanıtlar:


34

Bu değişikliklerin geçerli olması için tekrar oturumu kapatmanız gerekir. / Etc / passwd dosyasında tanımlanan kabuk sizin giriş kabuğunuzdur :-) Bu yüzden aslında bunun için giriş yapmanız gerekmektedir.


2
Teşekkürler. Linux'ta yeniden başlatmadan değişiklik yapabilmek için çok alıştım, bu sadece benim başıma gelmedi.
Kurtosis

Etkili olması için yeniden başlatmam gerekti - sanırım beni bir şekilde varolan bir kabuk oturumuna yeniden bağladı.
Chris Kimpton

Bir ssh bağlantısı kullanırken, çıksanız bile, sunucu bağlantıyı ve kabuğu tamamen kapatamayabilir. Dolayısıyla, kullanıcınıza ait olan işlemleri (ssh ve sh) öldürmeniz gerekebilir. (Bu sorunu yaşadım ve çözümü bulmak kolaydı ama yine de çıkış yapmak zorunda olduğumu görmek için bu yazıya gelmek zorunda kaldım.)
John Hamilton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.