Saya ingin mengganti shell saya dari bash ke zsh.
Saya telah mencoba menjalankan yang berikut saat masuk sebagai pengguna zol:
$ chsh -s /bin/zsh
$ sudo chsh -s /bin/zsh zol
$ su -c 'chsh -s /bin/zsh zol'
# The above all results with:
$ password:
$ chsh: Shell not changed.
# zsh exists in /etc/shells..
chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh
Apa yang salah? Bagaimana saya bisa memperbaikinya?
chsh
, yang berarti Anda akan harus log in lagi.Jawaban:
Modifikasi akun pengguna tidak akan disimpan jika Anda membuka / etc / passwd (vim / etc / passwd) ketika Anda mencoba mengubah info.
Alternatif: coba dengan usermod (as zol):
atau
Jika ini tidak berhasil, edit
/etc/passwd
dengan tangan.sumber
vipw
sebagai gantivim
karena mereka mengatur kunci file yang sesuai.Kapan menjalankan "chsh-l" jika Anda melihat:
Kemudian gunakan:
Peringatan: Perintah dijalankan pada Fedora 25, Di ubuntun pilihan "-l" dari keluar.
sumber
-l
adalah opsi yang tidak valid untuk saya. Saya di Ubuntu 16.04chsh -s
bekerja dengan sempurna. Terima kasih.Jika Anda lihat
chsh: Shell not changed.
, itu bisa berarti bahwa shell sudah berubah.Periksa cangkang mana yang terdaftar:
Jika benar, logout dan kembali agar perubahan diterapkan.
sumber
Baru saja berlari ke ini. Apa pun yang saya lakukan, masuk dan keluar tidak akan mengubah shell saya, tetapi terdaftar di / etc / shells dan / etc / passwd.
akhirnya saya sadar: Mungkin saya login dengan sesi lain?
Jadi saya lakukan
dan itu memvalidasi saya memang memiliki sesi terbuka lainnya dari komputer lain:
Saya kemudian melakukannya:
Saya segera keluar dan setelah masuk kembali: Voila! Shell diubah
sumber