开发用Ubuntu Desktop系统折腾记录
背景
可以查看 工作用纯白ITX折腾记录 这篇文章,从硬件上完成了工作、开发使用的电脑的搭建。
那么,这篇文章就是从软件上来完成对应的配置。
系统安装
这台计算机安装的系统选择的是 Ubuntu Desktop 24.04 LTS。可以前往 Ubuntu Desktop 24.04 LTS 下载对应的 ISO 镜像。
安装的过程较为简单,只需要:
- 下载镜像
- 使用 Rufus 等镜像制作工具将 ISO 镜像写入到 U 盘
- 使用 U 盘启动计算机
然后按照提示进行安装即可。
软件安装
这部分是 Ubuntu Desktop 系统能够高效使用的关键,默认的系统在中文环境下并不容易使用。
在安装之前,需要根据实际情况检测镜像源或换源,由于作者的网络环境可以直连香港出口,此处就不叙述了。需要的朋友可以去 中国大陆网络环境下的常用镜像源更改 查看相关内容。
在安装之前,先完成基础软件的配置
# 1. 更新软件源,并升级可以升级的软件
sudo apt update && sudo apt upgrade -y
# 2. 安装基础命令行软件
sudo apt install -y curl wget git net-tools vim
命令行配置
此阶段需要安装 zsh
和 oh-my-zsh
并添加常用的插件和主题。
# 1. 安装 zsh
sudo apt install zsh -y
# 2. 切换到 zsh
zsh
# ... 此阶段会询问如何配置 zsh,根据实际情况选择即可
# 3. 安装 oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# ... 安装完成后会引导进行基础配置,根据实际情况选择即可
# 4. 安装常用插件
# 4.1 安装 zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# 4.2 安装 zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 5. 自定义 zsh 配置
vim ~/.zshrc
# 5.1 配置插件
# 在 ~/.zshrc 中找到 plugins=(),并添加以下内容
plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
# 5.2 配置主题
# 在 ~/.zshrc 中找到 ZSH_THEME="robbyrussell",并修改为
ZSH_THEME="ys"
如果不出意外的话,在上面的配置中就会完成 zsh
的安装,并设置为默认的 shell,同时支持下面的功能:
- 语法高亮:输入有效命令显示绿色,无效命令显示红色
- 自动补全:输入命令时会出现灰色建议,按 → 或 End 接受
- 历史插件:用 ↑/↓ 浏览历史,输入 history 查看完整记录
完成后,我们可以继续进阶配置,安装 NerdFonts 字体以支持更好的图标显示。可以去 Nerd Fonts 查看并下载对应的字体,下载后解压到 ~/.local/share/fonts
目录下。此处作者推荐 Cascadia Code
字体。
如果对作者使用的主题不满意的话,也可也去 Zsh Themes 预览效果,并选择自己喜欢的主题。当然你也可以使用 powerlevel10k
这一类拓展主题,可以去 Powerlevel10k 了解更多。
Note
如果执行完上面的操作后,发现 Dashboard 新增了一个叫做
ImageMagick(color depth=q16)
的图标,非常的丑,想要把它移除,可以执行以下命令:# 卸载主程序 sudo apt purge imagemagick imagemagick-6.q16 imagemagick-6-common -y # 卸载相关的依赖 sudo apt autoremove -y # 清理残留的配置文件 sudo apt purge $(dpkg -l | grep imagemagick | awk '{print $2}')
容器环境安装
在工作中,容器化的应用越来越多,因此需要安装 Docker 和 Docker Compose。
# 1. 安装 Docker 安装时需要依赖的工具
sudo apt install -y ca-certificates curl gnupg
# 2. 添加 Docker 的官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 3. 添加 Docker 的软件源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 4. 更新软件源
sudo apt update
# 5. 安装 Docker 和 Docker Compose
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 6. 将当前用户添加到 docker 组中
sudo usermod -aG docker $USER
安装完成后,注销后重新登陆,或者执行以下命令使得当前用户生效:
newgrp docker
如果你需要使用 Docker Desktop 的话,可以去 Docker Desktop for Linux 下载对应的版本。
你可以使用下面的命令验证 Docker 是否安装成功:
docker run hello-world
docker compose version
输入法配置
如果你在安装的时候选择了中文环境,那么系统会默认安装 fcitx5
输入法框架,并且会自动安装 fcitx5-pinyin
输入法,你可以跳过这一步。但是作者不喜欢 /home
目录下的 /home/Username/下载
这种风格的目录,不想在终端打中文,所以选择了英文环境安装。
- 你想要先在系统设置中添加中文语言拓展包,这一步骤将下载对应的软件和字体包。
- 安装
fcitx5
输入法框架和fcitx5-pinyin
输入法。
# 1. 安装输入法框架和核心组件
sudo apt install fcitx5 fcitx5-frontend-gtk3 fcitx5-frontend-gtk2 fcitx5-frontend-qt5 -y
# 2. 安装中文输入引擎
sudo apt install fcitx5-chinese-addons -y
# 3. 设置环境变量
echo -e "GTK_IM_MODULE=fcitx5\nQT_IM_MODULE=fcitx5\nXMODIFIERS=@im=fcitx5" | sudo tee -a /etc/environment
在启动台打开 fcitx5
即可在状态栏看到输入法图标。然后就可以在输入法图标上右键,选择 Configure
进入配置界面,添加或修改输入法。
现在我们应该就能在输入法图标上切换输入法了。也可以使用 Ctrl + Space
切换输入法。
开发配置
SSH密钥和GPG密钥生成
在开发中会使用到GitLab/GitHub等代码托管平台,为了避免繁琐的用户名和密码验证,我们可以使用 SSH 密钥和 GPG 密钥来进行身份验证。
# 1. 生成 SSH 密钥
ssh-keygen
# ... 根据指引设置算法、长度、存储位置,额外信息等即可
# 2. 获取 SSH 公钥
cat ~/.ssh/id_*.pub
# ... 将输出的公钥复制到 GitLab/GitHub 的 SSH 密钥设置中
# 3. 验证 SSH 密钥是否生效,此处以 GitHub 作为例子,具体的地址需要根据实际情况修改
ssh -T git@github.com
# ... 如果没有问题的话,你将看到 "Hi Username! You've successfully authenticated, but GitHub does not provide shell access." 的提示信息
# 4. 生成 GPG 密钥
gpg --full-generate-key
# ... 根据指引设置算法、长度、存储位置,额外信息等即可
# 5. 获取 GPG 公钥
gpg --list-secret-keys --keyid-format LONG
# 我们将看到类似下面的输出:
# sec rsa4096/3AA5C34371567BD2 2023-05-01 [SC]
# Key fingerprint = 4E26 76A1 7E2B D6A4 8A9C ... 你的指纹
# uid [ultimate] Your Name <your@email.com>
# ssb rsa4096/42B9FD872421E32E 2023-05-01 [E]
# 其中,3AA5C34371567BD2 是 GPG 密钥的 ID。
gpg --armor --export <GPG_KEY_ID>
# ... 将输出的公钥复制到 GitLab/GitHub 的 GPG 密钥设置中
# 6. 验证 GPG 密钥是否生效
echo -n "hello-world" | gpg --clearsign
# ... 如果没有问题的话,你将看到 "-----BEGIN PGP SIGNED MESSAGE-----" 的提示信息,表示签名成功。
这样我们就完成了密钥的配置。
Note
SSH公钥长这个样子,由 算法 密钥文本 标识 三个部份组成:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMAcHEZIXiDiOXdnFLd53yc6W/vyWzM/KceN5s0WOFl example@ubuntu
GPG公钥长这个样子,纯密钥文本:
-----BEGIN PGP PUBLIC KEY BLOCK----- mDMEaDQZ8BYJKwYBBAHaRw8BAQdAO3JydRoUWbosSjzusAoiicFRzioenwM2pU53 GQ7XDda0IGppdXpoaSA8Y2hlbnlpeXVAaHlwZXJncnlwaC5jb20+iJMEExYKADsW IQQq+SJkSWDnuCDt7loTvFGWYtSoagUCaDQZ8AIbAwULCQgHAgIiAgYVCgkICwIE FgIDAQIeBwIXgAAKCRATvFGWYtSoatltAQD7Pk0PmCK9NVWiEuGLc/AkZf7c6MH9 /EbVH6bnlKbkkAEAm1T2yRPbnwi8TwepgyiVzN1RxzbARzCEMYRcatxOkwG4OARo NBnwEgorBgEEAZdVAQUBAQdAT0uTJhWspaFm3JS9tqb9SgVmqulS9a51JC0zSDFQ BVYDAQgHiHgEGBYKACAWIQQq+SJkSWDnuCDt7loTvFGWYtSoagUCaDQZ8AIbDAAK CRATvFGWYtSoavChAQC21Wp46OO0My6jQaCjGM/iwNd8BR/DZwrDq9qqXTeUugEA 0WRx5C69Y2ZxyeO4iKgf5C7nbxEJTOCJWSSw4fbyfwk= =LvIY -----END PGP PUBLIC KEY BLOCK-----