Linux 以非root用戶安裝zsh&配置on my zsh


此文章參考以下三篇文章,如有侵權請聯系

Linux非root用戶安裝zsh, 並用oh-my-zsh進行配置

在沒有sudo權限的Linux服務器下安裝oh-my-zsh

不使用root權限安裝zsh和oh-my-zsh

安裝zsh

  1. 新建zsh文件夾

    cd && mkdir zsh && cd zsh
    
  2. 下載最新版本的zsh,需要手動添加版本號

    wget https://sourceforge.net/projects/zsh/files/latest/download/zsh-XXX.tar.xz 
    (xxx換成最新的版本號)
    
  3. 解壓下載后文件

    xz -d zsh-xxx.tar.xz
    tar -xvf zsh-xxx.tar
    cd zsh-xxx
    (xxx換成最新的版本號)
    
  4. 編譯文件

    ./configure --prefix=$HOME/zsh #表示安裝到家目錄中的zsh文件夾下,可以自己設置想要的路徑
    make && make install
    
  5. 若沒有遇到問題則跳過此步

    問題一./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

  1. 更新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服務器)時都會被讀取且執行。

  2. 安裝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下( ~ 下)
    

    以上選一種即可

  3. 切換到zsh,安裝完之后應該是會自動切換到zsh

    exec $HOME/zsh/bin/zsh  # 你的zsh路徑
    

配置on my zsh

  1. 修改默認主題

    vim ~/.zshrc
    

    用vim打開文件后,按下/鍵,可以直接搜索ZSH_THEME的位置,按esc即可退出。將其修改成

    ZSH_THEME="ys"
    
  2. 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
    


免責聲明!

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



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