安装zsh和oh-my-zsh需避免curl脚本,优先用系统包管理器安装zsh并执行chsh;手动克隆oh-my-zsh到~/.oh-my-zsh,正确设置ZSH变量;插件须按zsh-syntax-highlighting在前、zsh-autosuggestions在后的顺序加载并source。

直接装 zsh 和 oh-my-zsh 不难,但默认安装后终端卡顿、补全失效、主题不显示、插件报错——这些问题几乎人人都踩过,根源不在命令写错,而在安装路径、插件加载顺序和 shell 初始化时机。
确认系统是否已预装 zsh
很多现代 Linux 发行版(如 Ubuntu 22.04+、CentOS 8+、Arch)已自带 zsh,别急着重装:
- 运行
zsh --version看是否有输出,有就跳过安装步骤 - 用
which zsh检查路径,常见为/bin/zsh或/usr/bin/zsh -
echo $SHELL显示的是当前登录 shell,不是当前正在运行的 shell;临时切过去用exec zsh,但别直接关 terminal
用包管理器装 zsh(不推荐 curl 安装脚本)
curl 安装脚本(如 oh-my-zsh 的 install.sh)会绕过系统包管理,升级/卸载困难,且容易因网络中断导致配置文件残留。优先走系统渠道:
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
- Ubuntu/Debian:
sudo apt update && sudo apt install zsh - CentOS/RHEL/Fedora:
sudo dnf install zsh(Fedora 22+)或sudo yum install zsh - Arch/Manjaro:
sudo pacman -S zsh - 装完立刻执行
chsh -s $(which zsh),**不要写死/bin/zsh**——不同发行版路径可能不同
手动安装 oh-my-zsh(避开 install.sh 的坑)
官方 install.sh 会自动改 ~/.zshrc、硬编码插件路径、甚至覆盖已有 alias。更可控的做法是手动拉取:
- 先创建标准目录结构:
mkdir -p ~/.oh-my-zsh/{custom,plugins,themes} - 用 git 克隆核心:
git clone https://gitee.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh(Gitee 镜像更快更稳) - 复制最小配置:
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc - 关键一步:在
~/.zshrc顶部加一行export ZSH="$HOME/.oh-my-zsh",否则后续插件加载会找不到根目录 - 别急着
source ~/.zshrc——先检查ZSH_THEME是否设为合法值(如"robbyrussell"),空值或拼错会导致启动报错lib/misc.zsh:3: parse error near 'then'
插件必须按顺序加载,否则高亮/建议全失效
zsh-syntax-highlighting 和 zsh-autosuggestions 这两个高频插件,加载顺序错了就会相互干扰:
- 先下载插件到正确位置:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$ZSH/custom}/plugins/zsh-syntax-highlighting - 再下载另一个:
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-$ZSH/custom}/plugins/zsh-autosuggestions - 在
~/.zshrc中,plugins=()列表里,zsh-syntax-highlighting必须排在zsh-autosuggestions前面 - 然后在
plugins=()下方**紧挨着**添加两行 source(不能漏):source $ZSH_CUSTOM/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
- 最后才
source ~/.zshrc——少任何一步,要么没颜色,要么建议不出现,要么输入时卡住
最常被忽略的点:插件仓库 clone 后的目录名必须和 plugins=() 里写的完全一致,大小写都不能错;ZSH_CUSTOM 路径一旦设错,整个插件系统就静默失败,没有任何报错提示。

















