skip to content
杨鸿肇 杨鸿肇
/ EN

Ubuntu 装机清单:软件和配置

创建 更新 14 min read
索引

注:不同版本的 Ubuntu 存在较大差异,如果某步骤出问题,和 AI 聊天或用 Agent 解决。

系统安装

下载 Ubuntu Desktop 镜像

  1. 打开官方下载页:最新版 26.04 LTS(或者 Ubuntu Releases 选择想要的历史版本)
  2. 下载 .iso 镜像文件(一般选 amd64 版,如果是 Apple Silicon Mac 或者树莓派等 ARM 设备,选 arm64 版)

使用 Ventoy 构建系统盘

Ventoy 会格式化 U 盘(清空内容),有重要文件先备份!安装 Ventoy 后,U 盘可以存储多个系统镜像,也可以当正常 U 盘使用。

Windows GUI 版本

  1. 打开 Ventoy 官方教程:Ventoy 官方文档
  2. 下载 Windows 安装包并解压,例如 ventoy-x.x.xx-windows.zip
  3. 插入 U 盘,打开 Ventoy2Disk.exe
  4. Device 中选择目标 U 盘,点击 Install 写入 Ventoy
  5. 写入完成后,将下载好的 Ubuntu .iso 镜像直接复制到 U 盘根目录

Linux CLI 版本

  1. 打开 Ventoy 官方教程:Ventoy 官方文档
  2. 下载 Linux 安装包并解压,例如 ventoy-x.x.xx-linux.tar.gz
  3. 插入 U 盘,查看设备名:
    Terminal window
    lsblk
    示例输出里找一个大小接近 U 盘容量的磁盘,例如:
    sda 8:0 0 476G 0 disk
    ├─sda1 8:1 0 512M 0 part /boot/efi
    └─sda2 8:2 0 475G 0 part /
    sdb 8:16 1 29G 0 disk
    └─sdb1 8:17 1 29G 0 part /media/usb
    那么 U 盘设备名通常是 /dev/sdb,不是下面的分区 /dev/sdb1
  4. 进入 Ventoy 目录,写入 U 盘:
    Terminal window
    cd ventoy-x.x.xx
    # /dev/sdX 替换为真实 U 盘设备名
    sudo sh Ventoy2Disk.sh -i /dev/sdX
  5. 写入完成后,将下载好的 Ubuntu .iso 镜像直接复制到 U 盘根目录

安装系统到目标设备

  1. 重启电脑,进入 BIOS / Boot Menu,关闭安全启动(Secure Boot),选择从 U 盘启动
  2. 再重启电脑,在 Ventoy 菜单里选择 Ubuntu 镜像,进入安装流程
  3. 如果启动或安装时卡住,有可能是显卡驱动问题,可以在 Ubuntu 启动菜单里尝试 Safe Graphics 模式

系统设置

设置中操作

  1. Settings -> Notifications:关闭 Lock Screen Notifications
  2. Settings -> Power:选择 Performance,关闭 Auto Screen BlankAuto Suspend
  3. Settings -> System -> Software Updates -> 运行之后马上停止 ->Updates
    • Subscribe to 改为 Security updates only
    • Automatically check for updates 改为 Never
    • When there are other updates 改为 Display every two weeks
    • Notify me of a new Ubuntu version 改为 Never

取消终端 sudo 密码(可选)

这一步可能带来安全风险!

  1. 查看当前用户名:
    Terminal window
    whoami
  2. 编辑 sudoers 配置:
    Terminal window
    sudo visudo -f /etc/sudoers.d/nopasswd
  3. 添加以下内容,将 你的用户名 替换为真实用户名:
    你的用户名 ALL=(ALL:ALL) NOPASSWD: ALL
    默认是 nano 编辑器,Ctrl + Shift + V 粘贴,Ctrl + O 保存,回车确认文件名,Ctrl + X 退出

取消 GUI 授权密码(可选)

这一步可能带来安全风险!

  1. 创建 Polkit 规则:
    Terminal window
    sudo nano /etc/polkit-1/rules.d/49-nopasswd-global.rules
  2. 添加以下内容:
    polkit.addRule(function(action, subject) {
    if (subject.isInGroup("sudo")) {
    return polkit.Result.YES;
    }
    });

基础工具

Clash Verge

  1. 一般下载 amd64 架构安装包:Clash Verge amd64(如果是 Apple Silicon Mac、树莓派等 ARM 设备,下载 arm64 架构安装包:Clash Verge arm64
  2. 安装并激活订阅配置

Chrome

  1. 下载安装包并安装:Chrome
  2. 设置为默认浏览器
  3. 登录 Google 账号并同步插件

Fish

  1. 通过 apt 安装:
    Terminal window
    sudo apt update
    sudo apt install -y fish curl
  2. 添加受信任终端并设置为默认(以下为 bash 指令):
    Terminal window
    fish_path="$(command -v fish)"
    grep -qxF "$fish_path" /etc/shells || echo "$fish_path" | sudo tee -a /etc/shells
    chsh -s "$fish_path"
  3. 重启终端或者执行 fish 命令进入 fish shell,然后将常见路径加入 fish 的 PATH:
    Terminal window
    fish_add_path /usr/local/bin
    mkdir -p ~/.local/bin
    fish_add_path ~/.local/bin
  4. 安装 fisher 插件:
    Terminal window
    curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
  5. 安装 pure 主题:
    Terminal window
    fisher install pure-fish/pure
    # 如果要删除
    # fisher remove pure-fish/pure
  6. 安装 fzf 插件(搜索历史命令、文件):
    Terminal window
    sudo apt install -y fzf fd-find bat
    mkdir -p ~/.local/bin
    if command -v fdfind >/dev/null
    ln -sf (command -v fdfind) ~/.local/bin/fd
    end
    if command -v batcat >/dev/null
    ln -sf (command -v batcat) ~/.local/bin/bat
    end
    fish_add_path $HOME/.local/bin
    fisher install PatrickF1/fzf.fish
    快捷键:
    • Ctrl + R:搜索历史命令
    • Ctrl + Alt + F:搜索文件
  7. 安装 z 插件(快速跳转目录):
    Terminal window
    fisher install jethrokuan/z

剪贴板

Copyous(推荐)

注:需要至少 GNOME 48 桌面环境(Ubuntu 25.04 才能使用)

  1. 确保已经安装扩展管理器:
    Terminal window
    sudo apt install -y gnome-shell-extension-manager
  2. 打开 Extension Manager,搜索并安装 Copyous
  3. 在已安装扩展中找到 Copyous,点击齿轮,修改 Open Clipboard Dialog 快捷键,建议 Ctrl + Alt + V
  4. 使用时按下快捷键,在上方弹出历史记录,选择后回车自动输入

Clipboard Indicator

注:兼容更多版本

  1. 确保已经安装扩展管理器:
    Terminal window
    sudo apt install -y gnome-shell-extension-manager
  2. 打开 Extension Manager,搜索并安装 Clipboard Indicator
  3. 在已安装扩展中找到 Clipboard Indicator,点击齿轮,修改 Toggle the Menu 快捷键,建议 Ctrl + Alt + V
  4. 使用时按下快捷键,右上角弹出历史记录,选择后回车复制,再次使用 Ctrl + V(或者终端中 Ctrl + Shift + V)粘贴(注:自动粘贴到光标位置功能可以尝试开启,但在 Wayland 下有概率失效,每次手动粘贴更稳)

VSCode

  1. 下载安装包并安装:VSCode
  2. 如果下载的是 .deb 包,可以双击安装或者在安装包所在目录用 apt 安装:
    Terminal window
    sudo apt install -y ./code_*.deb
  3. 修改 VSCode 终端配置:按下 Ctrl + Shift + P,输入 Open User Settings (JSON),添加以下内容:
    {
    // 定义 Linux 下的终端配置文件
    "terminal.integrated.profiles.linux": {
    "fish": {
    "path": "/usr/bin/fish",
    "args": ["-l"] // 使用 -l 参数作为登录 shell 加载完整环境变量
    }
    },
    // 将 fish 设为默认 profile
    "terminal.integrated.defaultProfile.linux": "fish"
    }
  4. 下载、导入、激活配置并设为默认:VSCode Profile

中文输入法

  1. 安装中文字体和 Fcitx5:
    Terminal window
    sudo apt update
    # 安装基础中文字体 (Noto Sans CJK 是目前兼容性最好的)
    sudo apt install -y fonts-noto-cjk fonts-noto-cjk-extra
    # 可选:生成中文区域环境,方便部分程序使用中文 locale
    sudo locale-gen zh_CN.UTF-8
    # 安装 Fcitx5 核心、中文扩展及各平台插件
    sudo apt install -y fcitx5 fcitx5-config-qt fcitx5-chinese-addons fcitx5-frontend-gtk4 fcitx5-frontend-gtk3 fcitx5-frontend-qt5 fcitx5-frontend-qt6 fcitx5-modules im-config
  2. 设置默认输入法框架:
    Terminal window
    im-config -n fcitx5
  3. 添加桌面会话环境变量:
    Terminal window
    mkdir -p ~/.config/environment.d
    code ~/.config/environment.d/fcitx5.conf
    添加以下内容:
    INPUT_METHOD=fcitx
    XMODIFIERS=@im=fcitx
    GTK_IM_MODULE=fcitx
    QT_IM_MODULE=fcitx
    SDL_IM_MODULE=fcitx
    GLFW_IM_MODULE=ibus
  4. 重启电脑
  5. 打开 Fcitx 5 Configuration,添加 Pinyin(在 右侧 Available Input Method 搜索 Pinyin,将其移动到左侧 Current Input Method),并保持 Keyboard - English (US) 在第一位、Pinyin 在第二位
  6. 如需调整候选框字号,在 Fcitx 5 Configuration 中点击 Addons -> UI -> Classic User Interface 修改字体大小
  7. 如果要在顶栏显示输入法状态,可以安装扩展管理器:
    Terminal window
    sudo apt install -y gnome-shell-extension-manager
    打开 Extension Manager,搜索并安装 Input Method Panel
  8. 使用时按 Ctrl + Space 切换输入法

apt 安装一系列工具

  1. 执行以下脚本:
    Terminal window
    sudo apt update
    # curl:网络请求
    sudo apt install -y curl
    # git:版本管理
    sudo apt install -y git
    # gh:GitHub CLI
    sudo apt install -y gh
    # ripgrep:快速搜索,命令为 rg
    sudo apt install -y ripgrep
    # trash-cli:删除至回收站,命令为 trash-put
    sudo apt install -y trash-cli
    # just:命令运行器
    sudo apt install -y just
    # tokei:代码行数统计;如果仓库没有该包,则改用 GitHub Releases 或 cargo 安装
    sudo apt install -y tokei
  2. 添加常用别名:
    Terminal window
    code ~/.config/fish/config.fish
    添加以下内容:
    Terminal window
    alias trash="trash-put"

LocalSend

  1. 下载 .deb 安装包并安装:LocalSend,双击或者使用终端指令 sudo apt install -y ./localsend_*.deb

ouch

  1. ouch Releases 下载 Linux GNU 版本压缩包
  2. 解压后复制可执行文件:
    Terminal window
    cp ouch ~/.local/bin/
  3. 添加 fish 自动补全:
    Terminal window
    mkdir -p ~/.config/fish/completions
    cp completions/ouch.fish ~/.config/fish/completions/
  4. 添加 man 手册:
    Terminal window
    mkdir -p ~/.local/share/man/man1
    cp man/ouch.1 ~/.local/share/man/man1/

Zellij

  1. Zellij Releases 下载 Linux 版本压缩包
  2. 解压后复制可执行文件:
    Terminal window
    cp zellij ~/.local/bin/
  3. 下载字体并安装:下载 Nerd Fonts
    Terminal window
    # 创建字体文件目录
    mkdir -p ~/.local/share/fonts/JetBrainsMonoNerdFont
    # 复制压缩包
    cp JetBrainsMono.zip ~/.local/share/fonts/JetBrainsMonoNerdFont/
    cd ~/.local/share/fonts/JetBrainsMonoNerdFont
    # 解压
    ouch decompress JetBrainsMono.zip
    # 刷新字体缓存
    fc-cache -f -v
  4. 在终端设置中修改字体为 JetBrains Mono Nerd Font
  5. 启用系统剪切板:先查看当前环境
    Terminal window
    echo $XDG_SESSION_TYPE
    如果是 Wayland 环境,安装 wl-clipboard:
    Terminal window
    sudo apt install -y wl-clipboard
    如果是 X11 环境,安装 xclip:
    Terminal window
    sudo apt install -y xclip
    打开 Zellij 配置文件:
    Terminal window
    mkdir -p ~/.config/zellij
    test -f ~/.config/zellij/config.kdl || zellij setup --dump-config > ~/.config/zellij/config.kdl
    code ~/.config/zellij/config.kdl
    取消对应行注释:
    # Wayland 环境
    copy_command "wl-copy"
    # X11 环境
    copy_command "xclip -selection clipboard"
  6. 设置默认 shell:删除 ~/.config/zellij/config.kdl 中对应的注释:
    default_shell "fish"

Ghostty

  1. Ubuntu 26.04 LTS 可以直接通过 apt 安装:
    Terminal window
    sudo apt install -y ghostty
    其他版本可以使用 Ghostty 文档推荐的社区安装脚本:
    Terminal window
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/mkasberg/ghostty-ubuntu/HEAD/install.sh)"
  2. 打开 Ghostty 后进入 settings 添加:
    # 字体设置(建议使用 Nerd Font 以支持 zellij 的图标)
    font-family = "JetBrainsMono Nerd Font"
    font-size = 18
    # Ubuntu 不建议隐藏标题栏,否则拖动窗口不方便
    window-decoration = true
    # 窗口内边距
    window-padding-x = 8
    window-padding-y = 8
    # 颜色主题(可以用 `ghostty +list-themes` 查看)
    theme = GitHub Dark High Contrast

编程相关

GitHub 登录

  1. 通过 gh 登录:
    Terminal window
    gh auth login
    # 查看登录状态
    gh auth status
  2. 通过终端指令鉴权:
    Terminal window
    git config --global url."https://<token>@<host>/".insteadOf "https://<host>/"

Cursor

  1. 下载 .deb 安装包并安装:Cursor,双击或者使用终端指令 sudo apt install -y ./cursor_*.deb
  2. 如果 Cursor 提示 namespace / sandbox 相关错误,关闭 AppArmor 的非特权 user namespace 限制:
    Terminal window
    echo "kernel.apparmor_restrict_unprivileged_userns = 0" | sudo tee /etc/sysctl.d/60-apparmor-namespace.conf
    # 立即生效
    sudo sysctl -p /etc/sysctl.d/60-apparmor-namespace.conf

fnm:Node 环境管理

  1. 通过官方脚本安装:
    Terminal window
    curl -fsSL https://fnm.vercel.app/install | bash
  2. 创建配置文件:
    Terminal window
    mkdir -p ~/.config/fish/conf.d
    code ~/.config/fish/conf.d/fnm.fish
    添加以下内容:
    Terminal window
    # 设置 fnm 路径
    fish_add_path "$HOME/.local/share/fnm"
    # 再初始化环境
    if type -q fnm
    fnm env --use-on-cd --shell fish | source
    end
    # 启用 pnpm
    set -gx PNPM_HOME "$HOME/.local/share/pnpm"
    fish_add_path $PNPM_HOME
  3. 初始化并下载 Node:
    Terminal window
    # 重新加载配置
    source ~/.config/fish/conf.d/fnm.fish
    # 安装最新的 LTS 版本
    fnm install --lts
    # 或者安装特定的版本
    fnm install 24
    # 切换并使用
    fnm use 24
    # 启用 pnpm
    corepack enable
    # 验证
    node -v
    npm -v
    pnpm -v
    npx -v

bun:JavaScript 运行时工具

  1. 通过官方脚本安装并添加路径:
    Terminal window
    curl -fsSL https://bun.sh/install | bash
    fish_add_path ~/.bun/bin

uv:Python 包管理器

  1. 通过官方脚本安装:
    Terminal window
    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 如果前面已经将 $HOME/.local/bin 加入 fish 的 PATH,则不需要重复添加路径

Go

  1. 通过 apt 安装并添加路径:
    Terminal window
    sudo apt install -y golang-go
    # 创建常见目录结构
    mkdir -p ~/go/{bin,pkg,src}
    # 确保 go install 的二进制能全局执行
    fish_add_path (go env GOPATH)/bin

TeX Live

  1. 直接安装完整版:
    Terminal window
    # 安装 texlive
    sudo apt install -y texlive-full
    # 安装中文支持
    sudo apt install -y latex-cjk-all

dprint 自动格式化

  1. 通过官方脚本安装:
    Terminal window
    curl -fsSL https://dprint.dev/install.sh | sh
  2. 将 dprint 加入 fish 的 PATH:
    Terminal window
    fish_add_path ~/.dprint/bin
  3. 项目中添加 dprint.json 配置文件,示例:
    {
    "includes": ["**/*.md"],
    "plugins": [
    "https://plugins.dprint.dev/markdown-0.21.1.wasm",
    "https://plugins.dprint.dev/ruff-0.7.4.wasm"
    ]
    }

Miniconda(不推荐,改用 uv)

  1. 下载最新安装脚本:
    Terminal window
    curl -fsSL https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -o ~/miniconda.sh
  2. 静默安装:
    Terminal window
    bash ~/miniconda.sh -b -u -p ~/miniconda3
  3. 初始化 fish:
    Terminal window
    ~/miniconda3/bin/conda init fish
    source ~/.config/fish/config.fish
  4. 禁用自动激活 base 环境:
    Terminal window
    conda config --set auto_activate_base false

AI 编程工具

参考专项笔记:AI 编程工具

显卡相关

  1. 前置软件都安装好之后,然后 Agent 根据当前版本写一个测试 cuda 的 demo 项目(或者直接打开要使用的包含 cuda 的项目),这个过程中 Agent 根据当前环境安装相关驱动和库

配置

fish 配置

  1. ~/.config/fish/config.fish 文件,添加以下内容:
    Terminal window
    fish_add_path $HOME/.local/bin
    # 快捷指令
    abbr -a scf 'source ~/.config/fish/config.fish'
    abbr -a ecf 'cursor ~/.config/fish/config.fish'
    abbr -a cur 'cursor .'
    abbr -a ecmd 'cursor ~/.claude/CLAUDE.md'
    abbr -a eamd 'cursor ~/.codex/AGENTS.md'

字体

  1. 思源黑体:GitHub 页面
  2. 思源宋体:GitHub 页面