23. 简易 Ubuntu 终端美化
前言
我在早些时候写过一个 Ubuntu 的美化教程,但那篇文章只停留在 GNOME 桌面环境上,对其他方面没有做修改。随着对 Linux 的理解加深,我开始越来越多地使用终端,比如在 WSL 中。因此现在更需要终端的优化。所以我打算单独再写一个备忘录来记录一下如何调整一下终端。
本博文的所有内容都在 WSL2 中实践。选择 WSL2 是因为我主要使用 Windows 10 完成日常娱乐和学习任务,不想放弃 Windows,同时我没有足够的电脑性能和时间精力在 Linux 中折腾 Wine 或在 Linux 中通过虚拟机运行 Windows 系统。而且我目前也没时间去学习使用 Arch。
需要说明的是,这只是我随手写的小教程,记录了这次全新安装 Ubuntu 后的配置经验和习惯。文中可能存在一些不完善之处,仅供参考,我也没有很认真地写。如果将来发现任何问题,我都会及时更新修正。
Zsh
1. 安装 Zsh
1 | # 在 Ubuntu/Debian 系统上 |
2. 将 Zsh 设为默认 Shell
1 | # 更改默认 shell |
3. 安装 Oh-My-Zsh 框架
Oh-My-Zsh 是一个开源的、社区驱动的框架,用于管理 Zsh 配置。
1 | # 使用 curl 安装 |
安装插件
1 | # 确保 ~/.oh-my-zsh/custom/plugins 目录存在 |
安装 & 启用 Powerlevel10k 主题
1 | # 下载 Powerlevel10k 主题 |
zsh 就配置到这样。
自用的包(可略过)
然后我自己给自己准备了一份这个。这是一个我平时用的上的包,用于在全新安装 Ubuntu 时候使用。如无需要,可以略过。
1 | sudo apt install -y \ |
安装 AstroNvim
我懒得去自己配置一个 Nvim,而且自己配的话,可能会忘记自己配了什么插件,或者把设置的键位也忘记了。
所以我打算直接使用开箱即用的 AstroNvim。
按照官网的说法,安装 AstroNvim:
备份当前 Neovim 配置(如果存在)
1
mv ~/.config/nvim ~/.config/nvim.bak
清理 Neovim 文件夹(可选但推荐)
1
2
3mv ~/.local/share/nvim ~/.local/share/nvim.bak
mv ~/.local/state/nvim ~/.local/state/nvim.bak
mv ~/.cache/nvim ~/.cache/nvim.bak克隆仓库
1
2
3git clone --depth 1 https://github.com/AstroNvim/template ~/.config/nvim
rm -rf ~/.config/nvim/.git
nvim
目前为止,AstroNvim 就安装完成了,其他的 LSP 和 language parser 就自己因人而异的安装吧。目前我这个 Vim 新手用不上。
安装完之后,我还塞了很多主题。倒也不是说一定要,只是想都看看,尝尝鲜。大家当然可以不用照着做。
1 | # 新建自定义的 AstroNvim 主题配置文件,添加更多主题选项 |
1 | return { |
接下来可以用 <Leader>ft
来切换主题了
还有一点的是,需要安装 Nerd Font。WSL 中,我们不需要在 Ubuntu 里面安装 Nerd Font,在 Windows 本机安装就行了,我选了 JetBrainsMono Nerd Font.
Windows 安装 Nerd Font 步骤:
访问 Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher 下载 JetBrainsMono Nerd Font
解压后选择所有字体文件,右键 "为所有用户安装"
在 Windows Terminal 中设置为默认字体
遇到的问题
有些时候,会出现以下问题:
1 | Insufficient system resources exist to complete the requested service. |
这种问题,这是因为系统没法获取足够的资源来新建虚拟机,于是便报错资源不足。毕竟我的打算只用终端,不使用桌面环境,而 WSL 默认分配了 8GB 内存和 4GB swap,所以我在 WSL settings 中改成了 2GB 和 512MB swap,然后使用
1 | wsl --shutdown |
关闭 WSL,再次打开就行了,以后除非是内存真的很紧张,不然应该都不会弹出的了。
当然,也可以在用户目录创建或编辑 % USERPROFILE%.wslconfig 文件添加如下配置:
1 | [wsl2] |
这和在 WSL settings 中修改是同理的,选一个即可。
后记
明明写给自己看的,结果还是写了这么长。而且我隐隐约约中感觉还漏写了什么,还是日后再补上吧。