chsh -s / usr / bin / zsh không hoạt động


24

Tôi đang cố gắng thay đổi vĩnh viễn shell của mình thành zsh bằng chshlệnh, nhưng nó không hoạt động.

zsh được cài đặt (thông qua apt) và hoạt động tốt khi tôi gọi nó trực tiếp từ thiết bị đầu cuối bash prompt. Nhưng tôi không thể tải zsh trong các thiết bị đầu cuối theo mặc định và chsh đang làm điều gì đó kỳ lạ:

$ 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

Có vẻ như chsh đã quản lý để thay đổi chính xác / etc / passwd, nhưng không phải là biến env $ SHELL. Như vậy, các thiết bị đầu cuối mới luôn bắt đầu trong bash và không zsh.

Tôi không chắc chắn nơi để tìm cách khắc phục sự cố này. .bashrc, mặc dù nó không được gọi cho đến khi vỏ được chỉ định? Bất kỳ trợ giúp đánh giá cao.


1
Bạn có thể thay đổi shell sau khi bạn đăng nhập lại vào hệ thống không?
vine_user

Câu trả lời:


34

Bạn cần đăng xuất lại để những thay đổi này có hiệu lực. Shell được xác định trong tệp / etc / passwd là shell đăng nhập của bạn :-) Vì vậy, bạn cần phải đăng nhập thực sự cho điều đó.


2
Cảm ơn. Tôi đã quá quen với việc có thể thay đổi linux mà không cần khởi động lại, điều đó không xảy ra với tôi.
Kurtosis

Tôi đã phải thực sự khởi động lại để nó có hiệu lực - tôi đoán nó bằng cách nào đó đã kết nối lại tôi với một phiên shell hiện có.
Chris Kimpton

Trong khi sử dụng kết nối ssh, ngay cả khi bạn thoát, máy chủ có thể không đóng kết nối và vỏ hoàn toàn. Vì vậy, bạn có thể cần phải giết các tiến trình (ssh và sh) thuộc về người dùng của bạn. (Tôi có vấn đề này và nó đã dễ dàng để tìm ra giải pháp nhưng vẫn còn, tôi phải đến bài viết này để thấy rằng tôi đã phải logout.)
John Hamilton
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.