---
title: 简易 Ubuntu 终端美化
date: 2025-03-15
modified: 2025-03-15
url: https://yuuu.org/post/ubuntu-terminal-setup
categories: ["教程"]
tags: ["教程"]
description: "我在早些时候写过一个 Ubuntu 的美化教程，但那篇文章只停留在 GNOME 桌面环境上，对其他方面没有做修改。随着对 Linux 的理解加深，我开始越来越多地使用终端，比如在 WSL 中。因此现在更需要终端的优化。所以我打算单独再写一个备忘录来记录一下如何调整一下终端。"
---
## 前言

我在早些时候写过一个 [Ubuntu 的美化教程](https://yuuu.org/post/39791.html)，但那篇文章只停留在 GNOME 桌面环境上，对其他方面没有做修改。随着对 Linux 的理解加深，我开始越来越多地使用终端，比如在 WSL 中。因此现在更需要终端的优化。所以我打算单独再写一个备忘录来记录一下如何调整一下终端。

本博文的所有内容都在 WSL2 中实践。选择 WSL2 是因为我主要使用 Windows 10 完成日常娱乐和学习任务，不想放弃 Windows，同时我没有足够的电脑性能和时间精力在 Linux 中折腾 Wine 或在 Linux 中通过虚拟机运行 Windows 系统。而且我目前也没时间去学习使用 Arch。

需要说明的是，这只是我随手写的小教程，记录了这次全新安装 Ubuntu 后的配置经验和习惯。文中可能存在一些不完善之处，仅供参考，~~我也没有很认真地写~~。如果将来发现任何问题，我都会及时更新修正。

## Zsh

### 1. 安装 Zsh

```bash
# 在 Ubuntu/Debian 系统上
sudo apt update
sudo apt install zsh -y

# 查看安装的 Zsh 版本
zsh --version
```

### 2. 将 Zsh 设为默认 Shell

```bash
# 更改默认 shell
chsh -s $(which zsh)

# 注销并重新登录，或重启终端
echo $SHELL
```

### 3. 安装 Oh-My-Zsh 框架

Oh-My-Zsh 是一个开源的、社区驱动的框架，用于管理 Zsh 配置。

```bash
# 使用 curl 安装
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# 或使用 wget 安装
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```

---

## 安装插件

```sh
# 确保 ~/.oh-my-zsh/custom/plugins 目录存在
mkdir -p ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins

# 安装 zsh-autosuggestions（命令自动补全建议）
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# 安装 zsh-syntax-highlighting（命令语法高亮）
git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# 安装 zsh-completions（额外命令补全）
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-completions

# 确保 ~/.zshrc 里有 plugins=() 这行，并且不重复添加插件
grep -q '^plugins=(' ~/.zshrc || echo 'plugins=()' >> ~/.zshrc
sed -i '/^plugins=(/ s/)/ zsh-autosuggestions zsh-syntax-highlighting zsh-completions)/' ~/.zshrc

# 重新加载 Zsh 配置
source ~/.zshrc
```

---

### 安装 & 启用 Powerlevel10k 主题

```sh
# 下载 Powerlevel10k 主题
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k

# 修改 .zshrc 里的主题
sed -i 's/^ZSH_THEME=.*/ZSH_THEME="powerlevel10k\/powerlevel10k"/' ~/.zshrc

# 重新加载 Zsh 配置
source ~/.zshrc

# 进入 Powerlevel10k 配置向导（按提示操作）
p10k configure
```

zsh 就配置到这样。

---

## 自用的包（可略过）

然后我自己给自己准备了一份这个。这是一个我平时用的上的包，用于在全新安装 Ubuntu 时候使用。如无需要，可以略过。

```bash
sudo apt install -y \
aria2         # 多线程下载工具（支持HTTP/BT） \
bat           # 带语法高亮的cat替代工具 \
btop          # 图形化系统监控（支持鼠标操作） \
build-essential # 编译工具链（gcc/make等） \
curl          # 网络数据传输工具 \
eza           # 现代化ls替代（带图标/Git状态） \
fd-find       # 快速文件搜索工具（比find更快） \
feh           # 终端看图软件 \
fonts-powerline # 终端增强字体（支持特殊符号） \
fzf           # 模糊搜索工具（集成终端/zsh等） \
git           # 版本控制系统 \
htop          # 交互式进程查看器（F4过滤/F9杀进程） \
iftop         # 实时网络带宽监控 \
iotop         # 磁盘I/O使用监控 \
iperf3        # 网络带宽测试工具 \
ncdu          # 磁盘空间分析工具（交互式） \
neofetch      # 系统信息展示工具（带ASCII Logo） \
neovim        # 现代Vim编辑器（支持LSP/插件） \
nmap          # 网络探测和安全审计工具 \
ntpdate       # 系统时间同步工具 \
ranger        # 终端文件管理器（Vim式操作） \
ripgrep       # 超快文本搜索工具（rg命令） \
tmux          # 终端多路复用器（会话管理） \
tree          # 目录树状显示工具 \
vnstat        # 网络流量统计工具 \
wget          # 命令行下载工具 \
xsel          # 剪贴板操作工具（集成终端） \
zoxide        # 智能目录跳转工具（z命令） \
zsh           # 强大的Shell（支持丰富插件）
```

## 安装 AstroNvim

我懒得去自己配置一个 Nvim，而且自己配的话，可能会忘记自己配了什么插件，或者把设置的键位也忘记了。  
所以我打算直接使用开箱即用的 AstroNvim。

按照官网的说法，安装 AstroNvim：

1. **备份当前 Neovim 配置**（如果存在）

   ```bash
   mv ~/.config/nvim ~/.config/nvim.bak
   ```

2. **清理 Neovim 文件夹**（可选但推荐）

   ```bash
   mv ~/.local/share/nvim ~/.local/share/nvim.bak
   mv ~/.local/state/nvim ~/.local/state/nvim.bak
   mv ~/.cache/nvim ~/.cache/nvim.bak
   ```

3. **克隆仓库**

   ```bash
   git clone --depth 1 https://github.com/AstroNvim/template ~/.config/nvim
   rm -rf ~/.config/nvim/.git
   nvim
   ```

目前为止，AstroNvim 就安装完成了，其他的 LSP 和 language parser 就自己因人而异的安装吧。目前我这个 Vim 新手用不上。

安装完之后，我还塞了很多主题。倒也不是说一定要，只是想都看看，尝尝鲜。大家当然可以不用照着做。

```bash
# 新建自定义的 AstroNvim 主题配置文件，添加更多主题选项
nvim ~/.config/nvim/lua/user/plugins/themes.lua
```

```lua
return {
  -- 添加热门主题插件列表
  { "folke/tokyonight.nvim" },          -- 经典 TokyoNight
  { "catppuccin/nvim", name = "catppuccin" }, -- 柔和 Catppuccin
  { "ellisonleao/gruvbox.nvim" },       -- 复古 Gruvbox
  { "navarasu/onedark.nvim" },          -- OneDark（VS Code 风格）
  { "rebelot/kanagawa.nvim" },          -- 日式风格 Kanagawa
  { "rose-pine/neovim", name = "rose-pine" }, -- 现代 Rose-Pine
  { "sainnhe/everforest" },              -- 护眼 Everforest
  { "EdenEast/nightfox.nvim" },          -- 多变 Nightfox 系列
  { "Mofiqul/dracula.nvim" },            -- Dracula 暗黑风
  { "nyoom-engineering/oxocarbon.nvim" },-- IBM 风格 Oxocarbon
  { "loctvl842/monokai-pro.nvim" },      -- Monokai Pro
  { "olimorris/onedarkpro.nvim" },       -- OneDark Pro（更丰富的配置）
}
```

接下来可以用 `<Leader>ft` 来切换主题了

还有一点的是，需要安装 Nerd Font。WSL 中，我们不需要在 Ubuntu 里面安装 Nerd Font，在 Windows 本机安装就行了，我选了 JetBrainsMono Nerd Font.

Windows 安装 Nerd Font 步骤：

1. 访问 [Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher](https://www.nerdfonts.com/font-downloads) 下载 JetBrainsMono Nerd Font
2. 解压后选择所有字体文件，右键"为所有用户安装"
3. 在 Windows Terminal 中设置为默认字体

## 遇到的问题

有些时候，会出现以下问题：

```powershell
Insufficient system resources exist to complete the requested service.  
Error code: Wsl/Service/CreateInstance/CreateVm/HCS/0x800705aa Press any key to continue...
```

这种问题，这是因为系统没法获取足够的资源来新建虚拟机，于是便报错资源不足。毕竟我的打算只用终端，不使用桌面环境，而 WSL 默认分配了 8GB 内存和 4GB swap，所以我在 WSL settings 中改成了 2GB 和 512MB swap，然后使用

```powershell
wsl --shutdown
```

关闭 WSL，再次打开就行了，以后除非是内存真的很紧张，不然应该都不会弹出的了。

当然，也可以在用户目录创建或编辑 %USERPROFILE%\.wslconfig 文件添加如下配置：

```txt
[wsl2]
memory=2GB
swap=512MB
```

这和在 WSL settings 中修改是同理的，选一个即可。

## 后记

最后是一个图，~~虽然看起来很酷，但是启动速度全被一些在线服务拖累了。~~

![1](https://cdn.yuuu.org/post-img/23/1.webp)

明明写给自己看的，结果还是写了这么长。而且我隐隐约约中感觉还漏写了什么，还是日后再补上吧。
