ZSH varsayılan kabuk nasıl yapılır?


124

ZSH'yi varsayılan kabuğum olarak ayarlamaya çalışıyorum, ancak tekrar bash'a dönüyor.

Bu kodu denedim:

sudo chsh -s $(which zsh)

Ben de denedim:

sudo chsh -s /bin/zsh 

Ayrıca bu komutları sudo olmadan denedim. Başka ne yapmam gerektiği hakkında herhangi bir fikir. ZSH'yi bash içinden çalıştırırken yükler ve düzgün çalışır ancak varsayılan kabuk olarak ayarlamak isterim.

Yanıtlar:


217

Sadece kullanıyorum chsh:

chsh -s $(which zsh)

sudoçalışması gerekmeden . Eğer kullanırsanız sudosizin çalışma kullanıcı için, için değil kabuk değiştirecek root

Son olarak, bilgisayarınızdan çıkış yapın ve tekrar giriş yapın .

Sorun giderme:


17
Bende de aynı problem var ve cevap
çözmedi

@AswinMurugesh Cevabımı kontrol et
Shailesh Kalamkar

9
ayrıca sudo chsh -s / bin / zsh userName komutunu çalıştırabilirsiniz
Micha Roon

15
Not: Bunun yürürlüğe girmesinden önce sistemimi yeniden başlatmam gerekiyordu.
KevinO

hayır, işe yaramadı.
Haha TTpro

40

Bunu superuser forumunda buldum

/ Etc / passwd dosyasını açın:

sudo vi /etc/passwd

Kullanıcı adınızı içeren satırı bulun:

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

ve bash'ı zsh ile değiştirin:

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

Değişikliklerin etkili olması için oturumu kapatın ve tekrar oturum açın.


11
Bu yaklaşıma çok dikkat etmelisin - genellikle onunla uğraşmak en iyi fikir değil/etc/passwd
Thomas Ward

Bu yöntemi kullanmasam da, chsh -s `which zsh`
jchook

HA Yea bu toplam benim kullanıcı becerdin. Tekrar giriş yapamıyorum.
Mark Carpenter Jr

6

Bunu da yapabilirsiniz:

bashrc dosyanızı favori düzenleyicinizde açın

sudo nano ~/.bashrc

daha sonra dosyanın üstündeki satırı ekleyin

exec zsh

Terminali her yüklediğinizde ve zsh kabuğunuzu çalıştırdığınızda komutu çalıştırır.


13
ve ayrıca etkileşimli olmayan tüm işlerinizi de kıracak ( scpörneğin).
Jakuje

Olumsuz oy için üzgünüm, fakat değişiyor /etc/passwdveya chshdaha iyi çözümler ve daha güvenilir.
Timo

Teşekkürler yaptı. @Timo / etc / passwd ve / veya chsh üzerinde değişiklik yaptım ama varsayılan ayarım bash'a dönmeye devam etti. Ben gönderilen yanıt başına exec zsh ekledi ve işe yaradı.
Stryker

3

Eğer zsh / bin / zsh değilse, chsh çalışmayacaktır. Ubuntu'da / usr / bin / zsh. öyle yapmak chsh -s /usr/bin/zshya da chsh -s `which zsh`çalışmak gerekir. Ayrıca masaüstü oturumuna tekrar giriş yapmanız gerekir.


Ubuntu VPS'imde / bin / zsh
Wilhelm Erasmus

/bin/zsh/usr/bin/zsh
Ubuntu'mda

2
Madende (14.04, ana depodan zsh ile), iki zsh var ve ikisi de iki katmanlı sembolik bağlardır: / usr / bin / zsh -> / etc / alternative / zsh-usrbin -> / bin / zsh5 ve / bin / zsh -> / etc / alternatifler / zsh -> / bin / zsh5
wjandrea 21:17 '

1

Geçerli kullanıcının altındaki kabuğu değiştirme izinleriyle ilgili bir sorunum vardı ancak daha sonra bana yardımcı oluyor (bilgisayarınız için doğru 'zsh' klasörünü ayarlamanız gerekir):

sudo chsh -s /bin/zsh <myUserName>

0

Garip, "kabul" cevabı benim için işe yaramadı

chsh: PAM: Authentication failure

Bu sorunu çözmek için / etc / passwd dosyanızı düzenleyin ve zsh konumunu gösterdiğinden emin olun. (Bunu "hangi zsh" komutunu çalıştırarak bulabilirsiniz)

webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh

Bir şifre sorması gerektiğine inanıyorum. Önceki nane kurulumumda da aynı hatayı aldım. Şimdiki kişi olsa iyi çalıştı
Wilhelm Erasmus

Bir başkası da aynı problemi yaşadı ve kaçtığını açıkladı chsh -s zsh, bu da şifre girişini yanlış yaptı.
wjandrea

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.