修改 Linux 默認 Shell 用 chsh -s /bin/zsh 命令不生效,提示 chsh: Shell not changed. 或 chsh: command not found 怎么辦


 

我想現在應該有很多人都已經使用zsh作為默認的Shell了,尤其是搭配 oh-my-zsh 之后,真是好用得飛起。
一般,我們在切換系統默認的Shell的時候,都會使用 chsh -s /bin/zsh 命令來進行修改。今天我遇到一個問題,在某台老服務器上,使用這個命令無法修改,具體原因未知。始終提示——chsh: Shell not changed.
無奈,只能更換另外的切換方式了,改用 usermod -s /bin/zsh fungleo 這個命令來進行的修改,成功了。這個命令里面的 fungleo 是我的系統用戶名,如果看官在執行這條命令的時候,切記換成自己的用戶名。用這個命令的缺點是,只能更改單個用戶的,不能修改所有用戶的。不過一般來說,用戶也不會太多,所以是夠用的。
有點小坑,記錄一下。

今天遇到在 windows 下的子 linux 系統中切換 zsh 不成功,找到的解決方法是在 .bashrc 文件中添加如下代碼

if [ -t 1 ]; then
    exec zsh
fi

 

 

即可在啟動時是默認的 zsh 終端了。神奇的windows。。。


2020年05月14日 補充
今天試了一下 centos 8 發現,在系統中沒有自帶 chsh 命令工具,提示 chsh: command not found。簡單查了一下,是因為系統沒有自帶 util-linux-user 工具包導致的。
那么原因找到了,解決就很簡單了,只要安裝它就可以了。我們可以使用 yum 包管理工具進行安裝。

yum install util-linux-user

 

如果 yum 沒有找到這個包(我是安裝了擴展源的,我不清楚這個包是在擴展源還是在原有的源里就有。)可以使用 dnf 包管理工具來進行安裝。命令一致:

dnf install util-linux-user

 

dnf 是取代 yum 的包管理器,兩者的使用基本是一致的。兩者的關系可以看這篇文章 紅帽即將廢棄yum,繼任者是誰,它又有何優勢 或者搜索 dnf yum 來找相關資料。

 

原文 https://blog.csdn.net/fungleo/article/details/99448425


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM