chsh -s / usr / bin / zsh tidak berfungsi


24

Saya mencoba mengubah shell saya menjadi zsh menggunakan chshperintah secara permanen , tetapi tidak berfungsi.

zsh diinstal (melalui apt) dan berfungsi dengan baik ketika saya memohonnya langsung dari terminal bash prompt. Tapi saya tidak bisa mendapatkan zsh untuk memuat terminal secara default, dan chsh melakukan sesuatu yang aneh:

$ 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

Tampaknya chsh telah berhasil mengubah /etc/ passwd dengan benar, tetapi bukan variabel $ SHELL env. Dengan demikian, terminal baru selalu dimulai dengan bash dan bukan zsh.

Saya tidak yakin ke mana harus mencari cara untuk memecahkan masalah ini. .bashrc, meskipun itu tidak dipanggil sampai shell ditentukan? Setiap bantuan dihargai.


1
Tidak bisakah Anda mengganti shell setelah login kembali ke sistem?
vine_user

Periksa jawaban ini .
Pablo A

Jawaban:


34

Anda harus keluar lagi agar perubahan ini berlaku. Shell yang didefinisikan dalam file / etc / passwd adalah shell login Anda :-) Jadi Anda perlu login sebenarnya untuk itu.


2
Terima kasih. Saya sudah terbiasa bisa membuat perubahan ke linux tanpa me-reboot, itu tidak terjadi pada saya.
Kurtosis

Saya harus benar-benar melakukan reboot agar bisa berfungsi - saya kira itu entah bagaimana menghubungkan kembali saya ke sesi shell yang ada.
Chris Kimpton

Saat menggunakan koneksi ssh, bahkan jika Anda keluar, server mungkin tidak menutup koneksi dan shell sepanjang jalan. Jadi, Anda mungkin perlu mematikan proses (ssh dan sh) milik pengguna Anda. (Saya punya masalah ini dan mudah untuk menemukan solusinya tetapi tetap saja, saya harus datang ke pos ini untuk melihat bahwa saya harus keluar.)
John Hamilton
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.