此文章參考以下三篇文章,如有侵權請聯系
Linux非root用戶安裝zsh, 並用oh-my-zsh進行配置
安裝zsh
-
新建zsh文件夾
cd && mkdir zsh && cd zsh
-
下載最新版本的zsh,需要手動添加版本號
wget https://sourceforge.net/projects/zsh/files/latest/download/zsh-XXX.tar.xz (xxx換成最新的版本號)
-
解壓下載后文件
xz -d zsh-xxx.tar.xz tar -xvf zsh-xxx.tar cd zsh-xxx (xxx換成最新的版本號)
-
編譯文件
./configure --prefix=$HOME/zsh #表示安裝到家目錄中的zsh文件夾下,可以自己設置想要的路徑 make && make install
-
若沒有遇到問題則跳過此步
問題一:
./configure
出現問題,提示缺少ncurses
configure: error: "No terminal handling library was found on your system. This is probably a library called 'curses' or 'ncurses'. You may need to install a package called 'curses-devel' or 'ncurses-devel' on your system." See `config.log' for more details
解決:
先配置相應的環境變量,除了第三行可以修改(也可以不修改),其他不用修改
export CXXFLAGS="-fPIC" export CFLAGS="-fPIC" export NCURSES_HOME=$HOME/ncurses # 這里表示家目錄的ncurses目錄,可以自己設置一個想要的路徑 export PATH=$NCURSES_HOME/bin:$PATH export LD_LIBRARY_PATH=$NCURSES_HOME/lib:$LD_LIBRARY_PATH export CPPFLAGS="-I$NCURSES_HOME/include" LDFLAGS="-L$NCURSES_HOME/lib"
配置好環境變量后,安裝
ncurses
, 找到最新版本ncurses下載安裝cd ../../ && mkdir ncurses && cd ncurses # 切換到上級目錄新建ncurses文件夾 wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-XXX.tar.gz # 下載最新版本ncurses tar -xzvf ncurses-XXX.tar.gz # 解壓 cd ncurses-XXX # XXX需要改成最新的版本號 ./configure --prefix=$HOME/ncurses --with-shared --without-debug --enable-widec # 指定路徑configure,可以自己修改想要安裝的路徑,這里我裝到了家目錄的ncurses下面了 make && make install # 安裝
安裝完
ncurses
后,回到zsh路徑,重新進行第四步就行了。問題二:
make && make install
時出現問題make: *** No targets specified and no makefile found. Stop.
這里的問題應該也是問題一,可能是你沒有看到而忽略了。按照問題一的解決辦法修改就行了。
安裝on my zsh
-
更新PATH
安裝
oh-my-zsh
前先將安裝好的zsh
所在的路徑添加到系統環境變量PATH
中export PATH=$HOME/zsh/bin:$PATH # 這里需要修改成你安裝的路徑
但是我們會發現重新登錄之后,默認的shell還是bash,這里我們通過修改
.bash_profile
來自動切換到zsh
,將一下命令加到~/.bash_profile
[ -f $HOME/zsh/bin/zsh ] && exec $HOME/zsh/bin/zsh -l # 路徑還是要修改成你安裝的路徑
注意zsh與scp不兼容,所以不要把該命令寫到
.bashrc
中。因為當我們使用scp命令從本地連接該Linux服務器時,系統會自動執行.bashrc
(而不會執行.bash_profile
),如果.bashrc
中有切換到zsh的命令,則系統的shell會被切換到zsh, 從而與scp產生兼容的問題。.bash_profile
只有當交互式登錄shell時(如系統啟動、遠程登錄)才會被讀取並執行,而.bashrc
在交互式登錄與非交互登錄(如使用scp從本地連接到該Linux服務器)時都會被讀取且執行。 -
安裝onmyzsh
# 方法一:wget方式自動化安裝oh my zsh: $ wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh # 方法二: $ curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh # 官網上的另外一種寫法 $ sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" $ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" # 方法三:手動安裝 $ git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh 注: 1. 克隆后將templates目錄下的zsh配置文件拷貝至~/.zshrc即可 2. .oh-my-zsh一定要在$HOME下( ~ 下)
以上選一種即可
-
切換到zsh,安裝完之后應該是會自動切換到zsh
exec $HOME/zsh/bin/zsh # 你的zsh路徑
配置on my zsh
-
修改默認主題
vim ~/.zshrc
用vim打開文件后,按下
/
鍵,可以直接搜索ZSH_THEME
的位置,按esc即可退出。將其修改成ZSH_THEME="ys"
-
zsh插件
語法高亮插件 zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh}/plugins/zsh-syntax-highlighting
自動提示插件 zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh}/plugins/zsh-autosuggestions
下載之后還需要修改
.zshrc
使其生效,修改plugins
的值,將zsh-syntax-highlighting
zsh-autosuggestions
添加進去plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
然后
source
source ~/.zshrc