水风清,晚霞明

微霞

简易 Ubuntu 终端美化

更新于
· 字数: 1757 · 阅读: 7 分钟
# 教程
目录

前言

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

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

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

Zsh

1. 安装 Zsh

Terminal window
# 在 Ubuntu/Debian 系统上
sudo apt update
sudo apt install zsh -y
# 查看安装的 Zsh 版本
zsh --version

2. 将 Zsh 设为默认 Shell

Terminal window
# 更改默认 shell
chsh -s $(which zsh)
# 注销并重新登录,或重启终端
echo $SHELL

3. 安装 Oh-My-Zsh 框架

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

Terminal window
# 使用 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)"

安装插件

Terminal window
# 确保 ~/.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 主题

Terminal window
# 下载 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 时候使用。如无需要,可以略过。

Terminal window
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 配置(如果存在)

    Terminal window
    mv ~/.config/nvim ~/.config/nvim.bak
  2. 清理 Neovim 文件夹(可选但推荐)

    Terminal window
    mv ~/.local/share/nvim ~/.local/share/nvim.bak
    mv ~/.local/state/nvim ~/.local/state/nvim.bak
    mv ~/.cache/nvim ~/.cache/nvim.bak
  3. 克隆仓库

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

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

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

Terminal window
# 新建自定义的 AstroNvim 主题配置文件,添加更多主题选项
nvim ~/.config/nvim/lua/user/plugins/themes.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 下载 JetBrainsMono Nerd Font
  2. 解压后选择所有字体文件,右键”为所有用户安装”
  3. 在 Windows Terminal 中设置为默认字体

遇到的问题

有些时候,会出现以下问题:

Terminal window
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,然后使用

Terminal window
wsl --shutdown

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

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

[wsl2]
memory=2GB
swap=512MB

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

后记

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

1

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

水氵冫

Written by 水氵冫

再努力一点点的说!

本文作者: 水氵冫
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

评论

评论将在接近时加载...