文章非常长,有问题或安装的时候出现异常及时在评论区发一下。

前言

开始之前先说两个概念,就是 Ubuntu 是基于 Linux 内核开发的操作系统发行版‌,相当于 Ubuntu 就是在 Linux 这个开源内核基础上包裹了一个“外壳”。一般 Ubuntu 在中文中念做“乌班图”“吾帮托”“吾帮图”之类的,可以按照您的喜好选择。

首先,我们大费周章地搞一个双系统,必然是有其原因的。

我选择 Ubuntu 的原因主要有几个:

  • 安全:Ubuntu 系统完全是开源的(系统源代码向所有人开放),所以相较于其他系统不会有后门之类的东西。
  • 简洁:Ubuntu 的自带程序极其少,以其目前最新版 Ubuntu 24.04 为例,安装完毕后系统的总 CPU 占用率不到 1%,内存占用不超过 4 GB,所以这就带来了很多好处。
  • 节能:其对于电量的消耗极少,尤其是在开了节能模式的情况下;而且其配置要求极低,与 Windows 10 差不多(但稍高一些,具体可以看下面正文),基本上老电脑都能跑得动,但如果您的电脑 Windows 10 都跑不动建议换新电脑
  • 美观:如果您看惯了 Windows 10 的 UI 界面,您可以试一下 Ubuntu 的 GNOME 界面,动画效果齐全,但比 Windows 11 耗能少得多,笔者个人认为这个界面已经足以和 Windows 11 媲美了。
  • 快速:笔者实测在 Linux 下很多程序都运行得比 Windows 下快得多,甚至有些能够达到 2 秒和不到 1 毫秒的差别(1000 毫秒为 1 秒)。
  • 当然还有为了装b

甚至安装之后系统还支持 Windows 下的 FAT32、exFAT、NTFS 等文件系统(Linux 的文件系统默认是 ext4),所以您完全可以在您的 Ubuntu 下打开您原本的 C 盘、D 盘等,当然还有您的所有外接存储设备。

但安装 Ubuntu 后要注意一点,就是部分软件(尤其是小众的)可能并不适配 Linux(如果适配的话,一般在官网上会有一个企鹅的图标,或者 Ubuntu 的“三点共圆”图标),或者适配不齐全。所以建议在安装之前,先进入您主要使用的软件官网查看一下它是否支持 Ubuntu,如果不支持就要考虑一下用其他软件替代了。

【TODO】如果一个软件不适配 Ubuntu,而您又必须需要这个软件,可以考虑用winebottlesPlayOnLinux之类的,但笔者没配成功,教程只能咕咕咕了。

现在您已经基本知道 Ubuntu 系统的优势和主要注意事项了,现在我们开始准备安装。

准备

配置检查

Ubuntu 24.04 的最低配置要求:

  • 2 GHz 双核处理器(推荐至少 4 核)
  • 4 GB 内存(推荐 8 GB 及以上)
  • 25 GB 存储空间(推荐分配 50 GB)

是的,没有其他要求了,不用什么 TPM 2.0,不用什么 DirectX。

注意,您安装双系统之后,您安装的 Ubuntu 用的是您的所有 CPU、内存等资源,不是跟虚拟机一样您给它分配一部分。

关于存储空间,笔者配完所有的下面步骤之后刚好用了 25 GB,所以如果只想要轻度办公只用 40 GB 即可,如果想要作为主力机的话建议 50 GB 起步

注意双系统不是虚拟机,不是 WSL,不是您想要让它装在哪个盘就装在哪个盘的,您必须要提前分出来这么多空间的一个单独的盘,然后系统安装器会把您指定的那个盘格式化再继续安装。

注意您在安装的时候还要在您指定的盘内分配至少 2.2 GB 空间(应该固定是这个值)给 Windows Boot Manager(Windows 启动管理器),不然您就进不去您原来的 Windows 了。

具体信息会在下面安装过程中说到。

存储准备

检查了您符合这个最低要求之后,您就可以为 Ubuntu 分配空间了。

(操作基本都很无脑,这部分不配图了)

显然正常电脑都不可能一开始就给您几十个 GB 的空盘,所以我们就要从一个盘中压缩空间给 Ubuntu 系统。

  1. 首先按下 Win+X 组合键(或者右键左下角 Windows 图标),在弹出菜单中选择“磁盘管理”。
  2. 等待界面加载出来后,右键点击您想要压缩的盘,在菜单选择“压缩卷”,按照向导输入您想要压缩的空间大小(注意是以 MB 为单位,不是 GB),然后一路下一步即可。
  3. 注意一定要给您的硬盘分配足够的多余空间,比如 40 GB 就要至少剩余 45 GB 之类的。
  4. 接下来在您压缩的盘右边会出现一个顶部是黑色的盘,我们右键它,点击“新建简单卷”,然后按照向导走即可。

您压缩出来的黑色盘变为深蓝色(跟您的其他盘一个颜色)就成功了。

镜像准备

首先要准备一个有至少 8 GB 容量的 U 盘,用于烧录我们的.iso系统镜像文件(相当于系统的安装包)。

这里不建议各位从 Ubuntu 官网下载镜像文件,因为官网需要科学上网,还比较慢,所以这里推荐几个镜像站:

下载直链:(链接指向的是笔者编写时的最新版本 Ubuntu 24.04.3,大小 5.9 GB)

下载完成之后,我们准备一个用于烧录镜像文件到 U 盘内的软件,这里推荐用 Rufus,官网点这里

官网默认下载用的是 Github,如果上不去可以用镜像链接(指向笔者编写时的最新版 4.9)。

下载后直接打开(这不是安装包),界面大概长这样:

图片源自网络

点击“引导类型选择”右边的“选择”按钮,选中您下载的.iso镜像文件,其他设置保持默认即可,然后点击最下面的“开始”。

注意开始之前一定做好数据备份,因为这一步会直接格式化您的 U 盘。

此时软件会直接开始把镜像文件烧录到您的 U 盘,这一步的时长和您 U 盘传输速率有关系,此时您可以离开电脑休息一下。

完成后点击“关闭”即可。

此时,这个 U 盘就不是一个普通的 U 盘了,而是 Ubuntu 的启动盘(又称 Ubuntu Live USB):

图片源自网络

注意事项

但在正式开始之前,先替大家避几个坑:

  • 首先,一定关闭 BitLocker,方法可以自行百度。
  • 其次,双系统用户一定要关闭快速启动,方法:

    打开控制面板,搜索并打开“电源选项”:

    图片源自网络

    点击“选择电源按钮的功能”:

    图片源自网络

    点击“更改当前不可用的设置”,最后关闭“启用快速启动”选项,并保存更改:

    图片源自网络

    如果您的电脑没有这个选项,那么大概率是您的电脑不支持,这一步您就可以跳过了。

  • 还有,要关闭安全启动,方法在下一节里会提到。

Ubuntu,启动!

经过一通准备,终于可以开始安装了。

关闭快速启动

打开系统设置,进入“系统”选项卡的“恢复”选项(Windows 11 操作方法,Windows 10 用户可以直接搜索设置),然后点击“高级启动”右边的“立即重新启动”。

稍等一会儿,就会进入这个界面:

点击“疑难解答”:

点击“高级选项”:

点击“UEFI 固件设置”:

点击“重启”,就能进入 UEFI 固件设置的界面了:

(不同电脑界面会有区别)

在这里您要把安全启动(Secure Boot)的状态从“enabled”(启用)改为“disabled”(禁用),然后按“F10”保存并退出即可。

开始安装!

如果您确保您已经将安全启动关闭,且将我们在前几步中烧录的 U 盘插入到了电脑的 USB 接口中,则您可以直接进入“高级启动”:

点击“使用设备”:

然后选择一下您的 U 盘即可,一般都会有“USB”之类的字眼,比如上图的“EFI USB Device”。

接下来系统就会自动重启。

第一个界面选择Try or Install Ubuntu

这里安装包会进行准备,等待即可。

语言选择中文(简体)(除非您想锻炼您的英语水平),键盘选择汉语(这是默认选项):

图片源自网络

接下来会让你连接到互联网:

图片源自网络

笔者在安装的时候没有联网,实测最终装的应用也基本够了,但如果您想要安装更完整的软件可以联网。

接下来选“安装 Ubuntu”:

图片源自网络

用“交互安装”模式:(谁也不知道“自动安装”会把您的电脑装成啥样)

图片源自网络

接下来自行选择,建议“默认集合”:

图片源自网络

也是自行选择,建议把图片中第一个选项勾选上:

图片源自网络

接下来一定要选择第一个,选第二个您的 Windows 系统就没了,第三个有些复杂自行摸索:

图片源自网络

然后会让您选择安装硬盘,注意要选择您分配出的新的盘,并分配部分空间给 Windows Boot Manager,这里建议直接把 Ubuntu 空间拉到最大。

(图片缺失)

接下来设置一下您的账户:

图片源自网络

设置时区:

图片源自网络

然后 Ubuntu 就会开始安装了。

笔者实测不联网、选择默认集合、安装了所有可用的专有软件的情况下,安装只用了 5 分钟

当您看到这个界面的时候,恭喜你,安装成功了!

图片源自网络

点击“立即重启”,然后在这个界面:

您可以不做任何操作,系统会在 10 秒后自动选择高亮的 Ubuntu 选项并进入系统,或者按一下 Enter 也彳亍。

注:如果您想要进入 Windows 系统,可以通过上下方向键选择图片中的第 5 个选项,也就是“Windows Boot Manager”,就可以进入原本的 Windows 系统了。另外在选择系统界面按一下上下方向键就会取消原本的 10 秒倒计时。

在此时,您要拔掉您的启动盘,否则系统会提示“请移除您的启动设备(medium 是媒介、设备的意思),然后按下回车键继续”。从这里开始正常的安装流程就不需要启动盘了,但这里不建议您把启动盘扔了或者格式化,后面排除故障的时候可能要用到

接下来当您看到一个橙色方框里面有您在安装过程中指定的用户名的时候,您就进入系统了!

按下回车(或者点击您的用户卡片),输入密码,您就看到了最初 Ubuntu 系统的样子。

初入 Ubuntu

接下来我会带您初步熟悉一下这个系统。

首先,Ubuntu 的任务栏在左边菜单在右上角(里面有声音、亮度、WLAN、蓝牙等设置),所有您安装过的应用在点击左下角这个 Ubuntu 图标后就可以看到了

在应用列表里面,有些应用可能跟 Windows 的叫法不太一样,比如:

  • Firefox:系统自带浏览器(相当于 Edge,但比 Edge 简洁多了)
  • 文件(Files):文件资源管理器
  • 系统监视器(System Monitor):任务管理器
  • 文本编辑器(Text Editor):Notepad
  • 启动应用程序(不知道英文翻译):开机启动项管理器

另外,这里 Windows 键被叫做Super,关于它也有很多快捷键,比如:

  • Super+L:锁屏
  • 单击Super:显示所有打开的窗口
  • 快速双击Super:显示安装过的应用

接下来我统一用 Ubuntu 对于应用名称的中文翻译称呼应用。

这里建议大家把 Firefox、文件、终端、系统监视器固定在任务栏(右键应用图标点击“固定到快捷栏”),尤其是终端,很常用也很有用

如果您想要用文件应用的话,记得在该应用内按一下Ctrl+H显示隐藏文件,因为 Linux 默认会把.开头的文件/文件夹隐藏掉

现在我向您介绍一下终端的大概界面:

打开终端,您会看到一个紫底白字的界面,这就是 Ubuntu 的默认终端界面。

与 Windows 下的 CMD、Powershell 不同,在您输入的命令前面会依次有这些信息:

用户名@主机名:当前路径$ 

如果您输入sudo su -获得了根用户权限,那么您的用户名会变成root

如果当前路径是/,则代表系统根目录,~代表当前用户的根目录。

一般而言,如果是普通用户,根目录就是/home/用户名根用户的根目录是/root,注意这个区别。

如果您无法确认您当前的路径,可以输入pwd指令,回车,就可以看到当前路径了。

另外,Ubuntu 终端的复制、粘贴快捷键是Ctrl+Shift+CCtrl+Shift+V,并且单击右键是不能直接复制粘贴的,要在右键菜单内手动点击一下。

还有一堆杂七杂八的区别:

  • 如果您下载了一个.exe的安装包,或者运行了您原本 Windows 环境下安装的.exe可执行文件,那么恭喜你,Linux 没法运行,因为这两个系统的可执行文件是不兼容的

  • 在 Linux 下可执行文件默认是没有后缀名的,而且 Linux 下的安装包一般是.deb.rpm结尾(尽量下载前者,后者 Ubuntu 原生不支持,需要安装额外软件,下面会说到)。

  • Linux 下没有什么 C 盘、D 盘,所有的文件都存储在根目录/之下所以就有了系统自毁命令sudo rm -rf /

  • Linux 下“使用管理员权限运行”是在终端命令前面加上一个sudo,比如sudo apt update,之后会让您输入您的密码,注意在 Linux 终端内输入密码是不显示的,如果认为输错了可以直接长按Backspace然后重输。

  • 如果您不想每个命令都打一遍sudo,那么一个偷懒的方案是输入:

    sudo su -
    

    命令,输入密码之后您的终端就会变为root模式(根用户模式,相当于管理员),之后所有的命令都相当于是在前面加了个sudo

    如果想要退出管理员可以输入:

    exit
    

    然后就可以变为普通模式了。

  • 安全方面的提醒:Linux 不同于 Windows,Windows 下即使获得管理员权限干的事情也有限(至少不至于把您的系统干掉),因为 Windows 有系统文件保护机制(WFP);但 Linux 下只要获得了root权限,就可以干任何事情,包括直接把您系统和数据一并干掉(就是上面那个自毁命令),所以一定注意密码安全。

  • 如果您使用终端,那么运行程序的时候要在前面加一个./,比如您要运行程序test,就要在终端内cd到当前目录(不要加/d选项,因为 Linux 不分盘),然后输入./test运行。

安装软件&疑难解答

(是的,我已经帮您踩过很多坑了……)

感谢 DeepSeek、百度对本部分的帮助。

注意,下面几乎所有的软件安装、异常处理等都需要终端,请随时打开终端,并做好使用它的准备。

【TODO】因为下面的安装过程非常繁琐,所以我自己编写了一个 程序(尚未完工),运行方法:

首先打开终端,cd到您下载的位置,然后直接输入:

sudo ./autoconfig

回车并输入密码即可。

如果终端提示执行失败,则请保证这个文件有执行权限,可以用这个命令授予:

chmod +x ./autoconfig

然后重新执行运行命令即可。

注意:这个自动安装脚本只保证兼容 Ubuntu 24.04 系统,过旧或过新的系统都可能导致运行出错,如果运行此脚本导致出现了错误,请把报错信息发在评论区,我会进行处理。


另外,这个脚本是用 C++ 编写的,完全开源,源码下载链接(尚未完工)

1. 基础终端命令

事实上很多命令和 Windows 都一样的,但部分命令还是有差别的,这里都说一下:

  • cat:输出文件内容(Windows 下是type

  • cp:复制文件/文件夹(Windows 下是copy

    下面还会修改很多配置文件,建议每次改配置文件之前把原本的文件cp一下,比如config.conf可以复制为config.conf.bakbakbackup,即“备份”,的简写)

    cp -r:递归复制,说白了就是复制文件夹用的

    文件夹用的

  • mv:移动文件/文件夹(Windows 下是move

  • ls/dir:输出当前目录下的文件/文件夹列表(Windows 下只有dir),注意它只会输出文件名,没有详细信息

    ls -a:输出所有文件(包括隐藏文件)

  • cd:转到文件夹,注意目录分隔符不要写成\,而是/

    cd ..:返回上级目录

    只敲一个cd:返回当前用户的根目录

  • rm:删除文件/文件夹(Windows 下是del

    rm -r:递归删除,说白了就是删除文件夹用的

  • mkdir:新建文件夹,注意 Linux 下新建文件夹默认是要一级一级建立的(比如您输入了mkdir a/b/c/d,但a/b/c这个文件夹不存在,那么系统就没法建文件夹了)

    mkdir -p:这样就不用一级一级建立了,这个命令会直接帮您自动建立一路上的文件夹

软件包系列的指令:(下面指令基本都要sudo

  • apt:Linux 经典软件包管理器之一
    • apt update:更新可用软件包列表(建议在执行installreinstall指令前都运行一下)
    • apt install 软件包名称:安装软件包(具体使用方法下面会说)
    • apt reinstall 软件包名称:重新安装软件包
    • apt purge 软件包名称注意不是uninstall):卸载软件包
    • apt upgrade:一键更新所有软件包
    • apt autoremove:一键卸载所有没用的软件包(建议在卸载软件包后都运行一下)
  • apt-get:跟apt基本一个意思
  • apt-mark:对软件包进行安装标记的工具
    • apt-mark hold 软件包名称:设置软件包为保留,让apt无法自动更新、卸载一个软件包
    • apt-mark unhold 软件包名称:取消其保留标记
  • dpkg:Linux 经典软件包管理器之一,但一般用于本地安装包的安装
    • dpkg -i 软件包文件名:安装这个软件包

如果您想要知道一个命令的详细信息,可以在命令后面加一个--help,比如rm --help注意不是 Windows 下的/?,因为 Linux 会把这个识别成路径

2. 软件换源

我之所以要讲这个,是因为 Ubuntu 默认安装软件访问的是它的官网,下载比较慢(或者干脆访问不上),所以我们就要让系统安装软件的时候,访问我们国内的镜像源

这里提供一下清华镜像源的配置方法(其他镜像源配置也差不多):

官方配置方法

2.1. 确定新旧版

首先,新旧版的换源方法是不一样的。

区分方法是输入cat /etc/apt/sources.list,如果输出了一堆内容就代表您使用的是旧版,但如果只有一行:

# Ubuntu sources have moved to /etc/apt/sources.list.d/ubuntu.sources

或者干脆没有,那就是新版。理论上按照编者上面内容安装的 Ubuntu 24.04 那大概率都是新版。

接下来我们根据新旧版分别打开:

  • 旧版:/etc/apt/sources.list
  • 新版:/etc/apt/sources.list.d/ubuntu.sources

打开方法有两种:

  1. UI:
    • 打开“文件”(应用名称)。
    • 按下快捷键Ctrl+L,或者点一下上面的目录栏。
    • 然后您就可以任意改路径了(改成旧版的/etc/apt或者新版的/etc/apt/sources.list.d)。
    • 接下来双击打开对应文件(旧版的sources.list或者新版的ubuntu.sources)即可。
    • 接着就可以任意修改文件了。
    • 注意保存文件的时候要输入密码,因为这个文件夹只有管理员才能改。
  2. Vim:
    • (如果您的系统没有预装 Vim 的话这一步还没法用,但后面改配置基本都要用到 Vim)
    • 在终端内输入sudo vim 要打开的文件(这里加sudo是因为这个文件要管理员权限才能修改,普通文件不用加sudo)。
    • 然后按下I键进入编辑模式(刚用 Vim 打开一个文件默认是命令模式,没法修改文件)。
    • 接下来就可以任意修改文件了,用法跟普通的文本编辑器差不多。
    • 修改完之后,按下Esc键重新进入命令模式
    • 依次输入:wq以保存并退出
    • 看到重新回到终端界面就成功了。

2.2. 修改配置

然后我们开始修改配置文件。

注意下面的内容只针对 Ubuntu 24.04 版本,其他版本可以自行去官方网站,如果是旧版则配置文件是网站里的第一个文本框,新版是第二个,版本自行修改文本框上面“Ubuntu 版本”的内容。

旧版改成:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse

新版改成:

Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

保存并退出即可。

确认自己有没有正确换源可以在终端输入:

sudo apt update

如果看到了tsinghuatuna等字眼就是换源成功了。

3. Vim

Vim 是 Linux 下非常出名的一个编辑器,也是接下来修改配置的必要软件。

安装方法:

sudo apt update
sudo apt install vim

如果安装出错可以执行一下:

sudo apt --fix-broken install

因为刚刚安装的系统可能会有安装不完整的问题。

但如果您在安装的时候安装了更多的软件,可能系统会自带 Vim。

4. 输入法

古语有云,没有输入法的系统是没有灵魂的,所以我们先配置一下我们的输入法。

原本这里写的是 Fcitx 的配置方法,但我用了,发现不好用,Shift+Space 会失效,刚开机还会出现标点莫名其妙变成了中文标点的问题,所以这里改成了 Fcitx 5 的安装教程。

4.1. 安装

很简单:

sudo apt update
sudo apt install fcitx5 fcitx5-pinyin

注意安装 Fcitx 5 会自动卸载您之前安装的 Fcitx 框架,请做好数据备份,并在卸载后清理一下残留:

sudo apt autoremove

另外,如果 Fcitx 5 没有写在 IBus 的话可以手动卸载一下,以免冲突:

sudo apt purge ibus

4.2. 设置

开始之前建议大家先确保系统语言是汉语,且汉语语言包是完整的。

打开“设置”应用,依次进入“系统”“区域和语言”“管理已安装的语言(Manage Installed Languages)”菜单,如果找不到可以点左上角的放大镜符号搜索设置。

首次启动可能需要下载一下语言包,耐心等待即可。

接下来确保“菜单和窗口的语言”下面的第一个语言为“汉语(中国)”。

如果安装的时候选择了中文语言这里应该就不用设了。

但如果在栏里面没找到“汉语”选项,就点一下下面的“添加或删除语言…”:

图片源自网络

往下划找到“中文(简体)”选项,把这个框勾选上:

图片源自网络

最后点击右下角“应用”即可。

应该要安装一下语言包,等待即可。

完成后就可以关闭窗口了。


我们先设置 Fcitx 5 为系统默认输入法:

sudo vim /etc/profile

在文件末尾加上:

export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx

保存并退出。


接下来还要设置 Fcitx 5 开机自启,我们点击左下角“显示应用”,点击“启动应用程序”。

点击右侧“添加”按钮,在弹出的“编辑启动程序”窗口内,随便设置一下“名称”和“注释”,“命令”一栏输入/usr/bin/fcitx5

点击“保存”,关闭窗口。

接下来重启一下,看见右上角有一个键盘图标就成功了!


在“显示应用”的界面点一下“Fcitx 5 配置”就可以进入它自带的图形化配置界面了,这里说一下我的配置。

首先,在首页点一下右侧的“拼音”选项,点一下中间的“小于号”把这个输入法移动到左边。

接下来把这个再点一下移动到左边的“拼音”选项,按一下中间的“v”下移,这样打开程序后默认的输入法就是“键盘 - 汉语”(其实就是英文输入法),而不是“拼音”(中文输入法)。

接下来在上面菜单的“全局选项”界面下把所有快捷键清空,然后修改以下几个:

  • 向后切换输入法:左右Shift(我们切换中英文其实本质是切换输入法,如上所述)
  • 默认上一页:-
  • 默认下一页:=(注意不要输成+了)
  • 默认跳转前一个候选词:Shift+Tab
  • 默认跳转下一个候选词:Tab

接下来在“附加组件”界面把所有“齿轮”都点一遍,过一遍设置,都是中文,很好看懂,按照自己的偏好设置即可。

4.3. 美化

如果您跟编者一样对默认的 Fcitx 5 界面感到厌倦,您可以安装一些用户编写的 Fcitx 5 主题,这是我推荐的几个:

# 仿 MacOS 主题
git clone https://gh-proxy.com/https://github.com/witt-bit/fcitx5-theme-macos12.git
sudo cp -r fcitx5-theme-macos12/macos12-light /usr/share/fcitx5/themes/  # 亮色
sudo cp -r fcitx5-theme-macos12/macos12-dark /usr/share/fcitx5/themes/  # 暗色
# 仿微信主题
git clone https://gh-proxy.com/https://github.com/witt-bit/fcitx5-theme-wechat.git
sudo cp -r fcitx5-theme-wechat/wechat-light /usr/share/fcitx5/themes/  # 亮色
sudo cp -r fcitx5-theme-wechat/wechat-dark /usr/share/fcitx5/themes/  # 暗色
# 紫色字主题
git clone https://gh-proxy.com/https://github.com/drbbr/fcitx5-dracula-theme.git
sudo cp -r fcitx5-dracula-theme /usr/share/fcitx5/themes/  # 好像只支持暗色

注:您可以直接把这些命令拷贝到终端,终端会默认忽略#及其后面的内容。

接下来转到“Fcitx 5 配置”的“附加组件”菜单底下的第一个选项“经典用户界面”,点一下它后面的齿轮图标。

在这里,您可以任意设置界面的字体(只用设置“字体”选项就彳亍),然后在下面设置一下“主题”和“深色主题”,并勾选“跟随系统浅色/深色设置”。

设置完成后,点击右下角的“确定”,再点击配置窗口右下角的“确定”,即可保存设置。

5. 输入法 - 异常处理

5.1. 【已解决】开机没有看到输入法?

开机没有看到输入法是正常现象,因为其开机启动是需要时间的,等一下即可,理论上不会超过 1 分钟。

如果超过这个时间还没看到的话,建议检查一下您是否把 Fcitx5 加到了开机启动项(可以打开左下角“显示应用”里的“启动应用程序”,看有没有 Fcitx5 字样即可),如果没有,添加一下;如果有,可以手动在应用列表里面点一下 Fcitx5。

5.2. 【已解决】咋输入字之后还会给我推荐预测呢?

如果您不需要这个功能,可以点击右上角的“zh”或者“拼”,这就是 Fcitx 5 的右上角菜单,然后在菜单内点一下“预测启用”,然后它就会变成“预测禁用”,就可以了。

5.3. 【已解决】按下/之后没有输出顿号?

其实 Fcitx 5 默认输出顿号的按键是回车键下面的反斜杠键\,您可以按这个键来输出顿号。

而想要按下/也输出顿号的话,您可以打开“Fcitx 5 配置”,点击左侧的“拼音”,点击中间的齿轮,进入拼音输入法的设置界面。

然后划到底下,点击“标点”右边的齿轮图标,就可以看到目前所有的标点映射。

我们点击右边的加号,“按键”输入/,“映射”输入,“替代映射”留空,然后一路确定即可保存设置。

5.4. 【已解决】为啥中文输入法没法输入中文分号,反而弹出什么“快速输入”?

因为 Fcitx 5 默认的快速输入快捷键就是分号,把它禁用即可。

我们再次进入 5.3 里的拼音输入法设置界面,还是划到底下,点一下“快速输入的触发键”右边的叉号,就可以把它禁用了。

最后一路确定保存设置。

5.5. 【已解决】使用中文输入法的预输入的时候光标咋永远在拼音的最前面?

还是 Fcitx 5 的拼音输入法设置搞的鬼。

再次进入拼音输入法设置界面,一上来就可以看到“预编辑模式”的一系列设置,我们:

  • 关闭“将嵌入预编辑文本的光标固定在开头”设置
  • 开启“在预编辑中显示完整拼音”设置

还是一路确定保存设置。

5.6. 【已解决】安装之后每次启动都会弹窗提示要安装什么扩展,怎么解决?

安装这个扩展之前要先安装这个软件包:

sudo apt update
sudo apt install gnome-shell-extension-manager

然后访问扩展页面,点击“Install”按钮,会提示是否打开 gnome-extensions 链接,点击“打开链接”。

接下来会打开“扩展管理器”应用(就是我们刚刚安装的那个),并进入扩展界面,直接点击“安装”,等待一会儿即可。

但安装后皮肤就没了,因为这个扩展本身就不支持复杂的皮肤,所以如果您必须需要使用您的皮肤,建议您用下面的方式。


众所周知,Ubuntu 24.04 默认用的是 Wayland 显示协议,在这个显示协议下,才会报上面这个弹窗错误。

所以我们在设置里把 Wayland 关闭,改成 Xorg 即可。

操作方法也很简单。先打开配置文件:

sudo vim /etc/gdm3/custom.conf

接下来把#WaylandEnable=false这一行的#删掉即可。

保存并退出,然后重启,就恢复正常了。

6. 在 Ubuntu 系统打开其他盘

打开“文件”应用,点击左侧菜单的“其他位置”按钮,您就可以看到您的所有盘了。

随便点击一个,Ubuntu 就会自动判断其文件系统,并打开。

给开发者的提醒:Windows 中文版默认文件系统的编码是 GBK,但 Ubuntu 是 UTF-8,所以 Ubuntu 会把 Windows 的文件系统文件名转为 UTF-8 再处理(但不进行实际修改),所以您在编写代码的时候记得用 UTF-8 编码调用文件

7. 在 Ubuntu 系统打开其他盘 - 异常处理

7.1. 【已解决】我在 Windows 下能够打开我的盘,但 Ubuntu 下提示“文件系统已损坏”之类的错误

首先尝试更新一下 NTFS 驱动:(如果您的盘是 NTFS 文件系统)

sudo apt update
sudo apt install ntfs-3g

然后您可以查看一下上面说的“其他位置”菜单里,您的盘右边写的路径是多少(一般以/dev/开头,比如我的 C 盘就是/dev/nvme0n1p3注意,这个路径只是引导文件路径,不是实际存储文件的路径

接下来用 Linux 自带的软件修复:

sudo ntfsfix -d 路径  # 如果您的文件系统是 NTFS(相当于 Windows 下的 chkdsk 命令)
sudo fsck.fat -a 路径  # 如果您的文件系统是 FAT32 或 exFAT(相当于 Windows 下的 chkdsk 命令)
sudo fsck -y -f 路径  # 如果您的文件系统是 ext2、ext3 或 ext4(用于 Linux 系统盘损坏)

此时多数问题应该都能解决了。


当然,如果您不想用终端,也可以用图形化界面:

sudo apt install gnome-disk-utility

不过这个软件大概率预装了,我们可以直接点击桌面左下角“显示应用”,点击“工具”文件夹,点击“磁盘”应用。

接下来这个界面和操作就和 Windows 里的“磁盘管理”差不多了,自行摸索即可。

7.2. 【已解决】仍然无法解决问题

那么您可以进入 Windows 系统,然后输入:

chkdsk /f 磁盘盘符(如C:等)

耐心等待一会儿即可。

如果还是无法解决问题,且 U 盘内没有过于重要的数据,可以再加上/r选项,这个选项可能会损坏数据(但概率小)。

8. 安装 VMware

如果您原本就是一个虚拟机用户,那么用 Linux 版的 VMware 也可以直接打开您在 Windows 下装的虚拟机。

8.1. 下载

因为 VMware 被 Broadcom 收购了,链接非常深,所以提供一个下载直达链接

进入后,点击“VMware Workstation Pro for Linux”,然后在下面的列表内选择最新的版本,下载即可。

8.2. 安装

然后,您就会发现,咋这个后缀名是.bundle呢?不是说安装包都是.deb吗?

这是因为,VMware 的安装包其实是 Ruby 语言编的,所以我们要先装一下 Ruby:

sudo apt update
sudo apt install ruby

然后运行:

sudo ./您下载的文件名

然后等待一会儿,您的 VMware 就安装好了。

9. 安装 VMware - 异常处理

9.1. 【已解决】进不去 VMware,一直报错“一些模块需要安装到内核内”,点击“安装”后又报错“建立环境失败,一个需要的引用缺失”

一般这个问题是因为缺少内核模块,运行以下命令安装即可:

sudo apt update
sudo apt install build-essential
sudo apt install linux-headers-$(uname -r)

9.2. 【未解决】这 VMware 的界面咋是英文的?

没办法,好像人家 VMware 只支持英文了……

【TODO】将来这里会放一下我自己搞的语言包的下载链接,把语言包拷贝到/usr/lib/vmware/messages/zh_CN/vmware.vmsg即可,注意您的系统一定要是中文的版本,否则还是显示的其他版本的。

10. 安装一堆杂七杂八的软件

10.1. G++ 安装

G++ 是用于编译 C++ 代码的编译器,如果您也使用 C++ 进行编程,可以直接执行:

sudo apt update
sudo apt install g++

即可安装。

但这样安装的可能不是最新版(笔者安装的是13.2.0版本,但在安装的时候最新版已经15.1.0了)。

如果对最新版有很高要求的话可以去 mingw-w64 官网,选择 Arch Linux,点击右侧的 Download From Mirror 进行下载。

然后您就会发现下载的速度慢到离谱,所以建议科学上网。

【TODO】接下来还要把下载的结果拷到可执行文件的文件夹下,笔者也不会配,所以不写教程了。

10.2. Git 安装

为了在 Linux 上也能访问开源软件网站 Github,可以通过这个指令安装 Git:

sudo apt update
sudo apt install git

10.3. VSCode 安装

官网首页点击下面的“Download for Linux (.deb)”按钮就可以直接下载.deb安装包了,接下来用:

sudo dpkg -i 安装包名

即可直接安装。

10.4. QQ 安装

官网直达,往下划一点,然后用跟搜狗拼音一样的选择方法下载.deb安装包。

安装方式同 VSCode。

10.5. 微信安装

官网直达,用跟搜狗拼音一样的选择方法下载.deb安装包。

安装方式同 VSCode。

10.6. LX Music 安装

我说这个软件是因为它要从 Github 上下载,可以说一下如何在 Github 上选安装包,同时它也涉及到数据同步的问题。

官网直达,在 Releases 栏的 Assets 列表内找到形如lx-music-desktop_版本号_amd64.deb的安装包(现在电脑应该大多数都是amd64架构),点一下即可下载.deb安装包。

如果嫌慢可以在下载的链接前面加上https://gh-proxy.com/等镜像网站的链接,就可以下载得快一些。

之后安装同 VSCode。


然后就是关于怎么在 Windows 上把您这个软件的数据拷贝到 Ubuntu 的问题了。

根据官方文档,Windows 下的文件目录在形如C:\Users\用户名\AppData\Roaming\lx-music-desktop的路径下,而 Linux 系列则是~/.config/lx-music-desktop

所以我们就可以按照配置的第 6 步教的方法访问到这个路径,把必要文件(如LxDatas内存储了所有的配置文件)拷贝一下,复制到 Ubuntu 的数据目录即可。

10.7. WPS Office 安装

官网直达,点击“立即下载”下载.deb安装包。

安装方式同 VSCode。

注意,WPS Office 会占用 2 GB 以上的空间,请按需安装,如果真的遇到系统无法打开的文档建议下载其他 Office 替代品。

10.8. VLC 安装

如果您断网安装默认集合,那么您会发现,您连 MP4 文件都无法打开,所以需要安装播放器去辅助。

编者用的是 VLC 视频播放器,安装指令:

sudo apt update
sudo apt install vlc

10.9. Net Tools 安装

如果您需要查看您的内网 IP 等网络信息,您需要先安装一下这个软件包:

sudo apt update
sudo apt install net-tools

接下来在终端输入:

ifconfig

即可查看您的网络信息。

10.10. Hugo 安装

我之所以要讲这个,一是我的博客就是用这个搭建的,二是这个安装要避一个坑。

就是这个软件不能直接sudo apt install hugo,因为这样下载不到最新版,作者实测最新版都更新到 0.148.2 的时候这样apt只能安装到 0.123.7。

所以我们需要去到 Github 上的下载界面,点击最新版下面的hugo_版本号_linux-amd64.deb,然后安装这个软件包。

考虑到有读者 Github 访问较慢,提供一个镜像网址,指向笔者编写时的最新版 0.148.2。

10.11. GNOME Tweaks 安装

GNOME Tweaks 是 GNOME 桌面环境的设置工具,安装方法:

sudo apt update
sudo apt install gnome-tweaks

但注意这个软件不会在“显示应用”界面显示,要在终端内手动输入:

gnome-tweaks

启动程序。注意在您关闭这个软件之前不要关闭终端,不然终端会把这个软件也杀掉,但好在这个软件是自动保存设置的。

这里建议把“鼠标和触摸板”的“触摸板加速”关闭,实测不关闭在很多软件下滚动都会快到离谱。

当然,这个软件还提供了比系统自带的“启动应用程序”应用更加人性化的开机自启应用管理界面,点击左侧“开机启动程序”菜单可以直接一键启用或禁用开机自启的应用。

10.12. NPM 安装

apt不同,npm是专门为 Node.js 开发的软件包管理器,安装方法也很简单:

sudo apt update
sudo apt install npm

10.13. RPM 安装

如果哪个软件只支持.rpm安装包,那么此时这个软件就派上用场了:

sudo apt update
sudo apt install rpm

用法跟dpkg一模一样,把上面的dpkg安装指令里的dpkg换成rpm,其他原封不动即可,这里就不赘述了。

10.14. 安装字体

(准确来说这不算软件安装,但不要在意这些细节)

Ubuntu 系统兼容绝大多数的字体,如.ttf.otf等,您双击这些字体也能看到,Ubuntu 能够正常识别并安装这些字体。

但对于要装的字体特别多的时候,一个一个手动安装必然不是好方法,所以这里介绍一种偷懒的方法。

Linux 存储系统字体的目录在/usr/share/fonts这个目录下,可以看到有两个目录:

  • truetype:用于存储.ttf格式字体。
  • opentype:用于存储.otf格式字体。

(其实还有别的目录,只是笔者不知道存啥的罢了)

那接下来的操作就简单了,我们把您的字体文件夹复制(cp -r)到对应目录下即可。

最后记得刷新缓存,不然您可能看不到您新安装的字体:

fc-cache -fv

等待几秒即可。

11. 一堆异常处理

11.1. 【已解决】我的文件资源管理器为啥右上角会有个角标?

首先看看您有没有未执行完的文件操作,等待之后应该就可以消失。

但如果没有操作,重启也没法解决,那么您可以点击一下您桌面正上方的时间,此时会进入系统的通知和日历页面。

然后,把所有的通知都消除掉,角标应该就消失了。

如果都不彳亍的话,一般就是因为各种其他软件导致,建议问 DeepSeek 来定位问题。

11.2. 【已解决】我的电脑为啥关机这么慢

这不是应用的问题,因为系统设置的就是 90 秒关机……

想改的方法也很简单,我们打开/etc/systemd/system.conf配置文件,然后找到这一行:

#DefaultTimeoutStopSec=90s

#去掉,然后把这个时间改小,比如改成:

DefaultTimeoutStopSec=5s

下面关机就快了。

11.3. 【已解决】为啥我的 Git 不记我的账号密码?每次都得重输

执行命令:

git config --global credential.helper store

即可在输入您的 Git 凭证的时候将您的凭证明文存储在本地的~/.git-credentials文件中。


但如果您想要更高的安全性可以选择:

git config --global credential.helper cache

也可以加上缓存超时时间:(不设置则默认是 15 分钟):

git config --global credential.helper 'cache --timeout=设置秒数'

然后 Git 会把您的凭证存储在内存内,优点是安全性高,但缺点是超时或重启后就得重新输入。


如果您不想关机重输,可以选择用libsecret加密保存凭证,安装方法:

sudo apt-get install libsecret-1-0 libsecret-1-dev

然后设置:

git config --global credential.helper libsecret

测试是否设置成功可以用指令:

git config --global credential.helper

如果配置成功的话,应该输出libsecret

11.4. 【已解决】我的电脑挂起后抽风了……

症状:挂起(相当于 Windows 下的“休眠”)一段时间后重新打开电脑会闪烁一段时间的“认证失败”,然后无论输入什么密码都只会转圈,不能进入系统。

(注:这个问题目前位置编者都没有找到关键的问题,可能这个问题在不依赖laptop-mode-tools情况下无法解决)


如果您的电脑已经进入了这样的局面,可以用一下几种方式进行解决:

  1. 进入 TTY 终端:

    尝试按下Ctrl+Alt+F1~F6(不要把Ctrl+Alt键按着不放,每次都重新按一遍)

    只要有一个终端是好的(不是那种仍然在输出一堆错误导致您无法输入命令的),我们就可以进入系统。

    首先在这个好的终端内输入您的用户名和密码。

    然后依次运行:

    sudo apt install xinit
    startx
    

    接下来可能桌面会有些怪怪的(反正我遇到的情况是这样的),但不管怎样您成功进入了系统。

    如果受不了这种风格您可以保存一下数据,然后点击右上角重启一下即可。

  2. 如果所有 TTY 终端都被各种日志填满:

    此时我们只能考虑暴力重启了。

    这里不建议用电源键强制关机,我们用另一种方式。

    大家都知道键盘上有一个按键叫做PrtSc(Print Screen,屏幕截图),其实有些键盘上还会在这个下面加一个SysRq(System Request,系统请求)的字样,所以这个按键大概跟系统有关系。

    而今天我们的这个方法就要用到这个按键。

    首先,左手按住Alt+PrtSc组合键(如果是笔记本键盘大概率没有单独的PrtSc按键,而是和功能键F1~F12合并,此时记得把Fn左上角的亮灯点掉),注意不要松开直到您做完下面的操作

    然后右手依次按下sub三个按键(最好中间间隔一段时间)。

    这三个按键的作用分别是同步磁盘、卸载磁盘、重启,前两个是为了防止数据损坏,最后一个就是重启。

    此时系统屏幕会突然一黑,然后出现No Boot Device(无引导设备)弹窗,不要惊慌,我们按下回车键。

    然后您就会进入 UEFI 固件设置界面,我们不管它,按下Esc键,回车退出并不保存设置。

    接下来您就会再次看到熟悉的双系统选择界面,直接进入 Ubuntu 系统即可。

    不过这样会导致您未保存的数据全部丢失,请注意。

接下来编者会教大家如何预防这个问题。


首先,我们把合盖时候的行为改一下:

sudo vim /etc/systemd/logind.conf

然后修改一下这个配置为下面给定的值:

HandleLidSwitch=lock

(解释一下,值为suspend表示合盖挂起,lock是合盖锁屏,ignore为忽略合盖行为)


然后,最为简单的方式是安装laptop-mode-tools(笔记本电脑模式工具),安装方法:

sudo apt update
sudo apt install laptop-mode-tools

之后修改配置:

sudo vim /etc/laptop-mode/laptop-mode.conf

修改一下这些设置为下面给定的值:

ENABLE_LAPTOP_MODE_ON_BATTERY=1
ENABLE_LAPTOP_MODE_ON_AC=1
ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=1

此时大概率就可以解决了。

但注意,这样会导致系统用于控制电源模式的软件power-profiles-daemon被卸载,右上角就无法控制当前电源模式是“节点”“平衡”还是“性能”了。


如果您要保留这个控制电源模式的软件,可以用另一种方法。

根据我们 TTY 终端的报错,如果出现了“Input/output error”“Read-only file system”这样的字眼,那么就说明,您的电脑很可能是挂起后文件系统出现了故障

这种情况大多数出现于使用写入缓存的硬盘的系统,而 Ubuntu 并没有考虑写入缓存,导致数据在挂起后并没有真正地输入到硬盘,在唤醒电脑后文件系统就崩了。

但因为我们上面在重启前先同步了硬盘,所以并没有造成太大的影响。

那既然我们知道了问题,解决方法也就很容易想到了,我们让系统在挂起前强制同步一下硬盘不就彳亍了?

这里就要用到 Linux 系统的一个特殊设计了,就是在挂起前,系统会先执行/usr/lib/systemd/system-sleep/目录下的所有脚本

那么我们就可以在这个目录下创建一个自己的脚本,比如:

sudo vim /usr/lib/systemd/system-sleep/pre-suspend-sync

然后把脚本内容粘贴进去:

#!/bin/sh

case $1/$2 in
  pre/*)
    echo "$(date): Forcing disk sync before $2..." >> /var/log/system-sleep.log
    /bin/sync
    echo "$(date): Finished disk sync before $2." >> /var/log/system-sleep.log
    ;;
  post/*)
    echo "$(date): System resumed from $2." >> /var/log/system-sleep.log
    ;;
esac

(如果您不想这个脚本输出日志,可以在两行echo前面加一个#,就不会输出日志了,但不建议这么做)

然后保存并退出。

另外,记得给这个脚本授予执行的权限,因为 Linux 系统默认不给脚本执行的权限

sudo chmod +x /usr/lib/systemd/system-sleep/pre-suspend-sync

接下来我们先手动创建一下日志文件:(是的,Linux 下新建文件是碰它一下

sudo touch /var/log/system-sleep.log

启动监听:

tail -f /var/log/system-sleep.log

接着打开一个新的终端,挂起一下系统:

sudo systemctl suspend

在挂起完成后稍等一会儿(看您键盘上的灯不亮就是挂起完成了)。

再看一下启动监听的那个终端,发现Forcing disk sync之类的字样就是成功了。


不过光用上面的方法,还是解决不了问题。

如果您在错误触发的时候打开 TTY 终端,您可以看一下,如果报错与您在 Windows 系统的分盘有关(有/dev/字样),那么大概率是因为驱动原因。

您可以打开一下系统监视器,进入“文件系统”一栏,如果发现有任何一个盘的类型为fuseblk,那么就代表,您挂载这个盘用的还是 ntfs-3g 驱动。

取代的方式应该是用新版的 ntfs3,在 Ubuntu 24.04 内是原生支持的。

所以我们可以修改一下挂载的配置。

往下翻到 11.10 部分,照猫画虎即可。

11.5. 【已解决】我进了一次 Windows 系统,然后回不去 Ubuntu 系统了……

症状:进入 Windows 系统后再次重启结果双系统选择界面消失,无法进入 Ubuntu 系统。


如果您的 Ubuntu 系统没有出什么 EFI 引导程序级别的问题,那么大概率是 Windows 把原本的引导程序覆盖了,导致您无法进入原本的引导界面。

解决方法:

  1. 在 Windows 系统下以管理员模式打开cmd(命令指示符),然后输入这个命令:

    diskpart
    
  2. 此时就会进入 Windows 的 Microsoft DiskPart 磁盘管理工具的界面,我们输入:

    list disk
    
  3. 列出您当前电脑的所有磁盘,找到您安装 Ubuntu 系统的磁盘,然后执行:

    select disk 磁盘编号
    

    注意,这个磁盘对应的是您电脑内部的硬盘,而不是您分出来的 C 盘、D 盘之类的,具体可以打开“磁盘管理”看看您安装 Ubuntu 系统的盘属于哪个硬盘。

  4. 此时您安装 Ubuntu 的磁盘已经被选中了,然后列出所有里面的分盘:

    list partition
    
  5. 然后找到“类型”一栏为“系统”的盘的编号(一般都是 0),或者打开“磁盘管理”看哪个盘的备注写的是“EFI 系统分区”,然后选中这个盘:

    select partition 分盘编号
    

    (如果不确定编号可以问 DeepSeek)

    选中后验证一下:

    assign letter=S
    exit
    

    此时您就退出到了 Windows 原本的终端,然后输入:

    dir S:\EFI\ubuntu\
    

    只要有:

    grubx64.efi
    shimx64.efi
    grub.cfg
    

    三个文件,就说明您选对磁盘了,并且 Ubuntu 系统的引导文件完好。

    注意下面命令要在 Windows 原本的终端不是 DiskPart 内运行。

  6. 接下来,我们先修复一下引导配置:

    bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
    bcdedit /set {bootmgr} displayorder {current} /addfirst
    bcdedit /set {bootmgr} timeout 10
    

    创建 Ubuntu 引导项:

    bcdedit /create /d "Ubuntu" /application osloader
    

    然后系统会给你输出{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}格式的一个 GUID,复制它,下面会用到

    我们继续运行:

    bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} path \EFI\ubuntu\grubx64.efi
    bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} device partition=S:
    bcdedit /displayorder {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} /addlast
    

    阻止 Windows 覆盖引导:

    attrib +S +H S:\EFI\Microsoft\Boot\bootmgfw.efi
    bcdedit /set {bootmgr} displaybootmenu yes
    

最后重启电脑,就可以看到双系统的选择界面了。

不过这样会导致选择 Windows 系统的时候会让您再做一次选择,但这不太影响。

11.6. 【已解决】转到 Windows 系统后时间咋比现在时间早了 8 小时?

原因其实很简单,是因为 Windows 系统默认会把您的主板时间视为当前的时间,但 Linux 系统则是把主板时间视为 UTC 时间。

比如您现在用的是北京时间 UTC+8,现在时间是正午 12 点,那么 Linux 系统会将主板时间设为 UTC 时间凌晨 4 点。此时您进入了 Windows 系统,那么 Windows 系统就会把主板时间 4 点认为是当前的 UTC+8 时间,所以就导致了 Windows 时间早了 8 小时。

当然,这个“8 小时”只是以北京时间为例的数据,如果您用的是其他时区,时差也是不一样的。

解决方法的话,就是让 Windows 系统不把主板时间视为当前时区时间,而是 UTC 时间即可。

我们修改注册表,进入路径:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\

右键空白区域,右键新建一个“DWORD (32 位)”值RealTimeIsUniversal

之后双击您新建的值,把其数值数据修改为1

如果您的 Windows 自动在后台把时间同步了,就进入 Ubuntu 系统重新同步一下时间(Ubuntu 系统是自动同步时间的,联网等待一下即可),再进入 Windows 系统,时间就正常了。

11.7. 【已解决】【开发者】为啥我把输出重定向到 NUL 结果还是会不断修改一个叫 NUL 的文件?

显然 Linux 下并没有把“NUL”识别成“弃用输出”,替代的方法是把输出重定向到/dev/null

这个文件很特殊,如果读取它就会直接返回EOF(文件结尾标志),如果输出到它就会直接丢弃。

11.8. 【已解决】我没磁盘空间了……

此时可以打开左下角“显示应用”,点击“工具”文件夹,打开“磁盘占用分析器”应用。

然后点击写着您的用户名的盘,下面路径应当是/,一般都排在第一个。

接下来等一会儿就可以得到系统各个部分的占用空间了。

此时可以不断点击占用最多的那个文件夹左边的“大于号”,就可以展开这个文件夹内部的空间占用情况了。

不断往下找找到是哪个文件/文件夹占用最大,问 DeepSeek 如何安全删除/缩小空间即可。

11.9. 【已解决】我的 Ubuntu 文件系统崩了……

我们可以尝试使用 7.1 里教的方法,用系统自带的fsck检测一下硬盘

但如果您直接运行:

sudo fsck -f -c /

命令的话,系统大概率会提示您这个分区繁忙(busy),无法检查。

那么此时,我们就要用到我们制作的启动盘了。

我们重新把启动盘插入到您的电脑 USB 接口,然后按照上面的操作重新进入 Ubuntu 的安装界面。

还是点击“Try or Install Ubuntu”,等待一下。

此时您就会发现,您又一次进入了安装的界面。

其实这个安装界面,本质上也是一个简化的 Ubuntu 系统,不过跟您前面安装的双系统都是分开的(真·三系统)。

所以我们直接双击Super键,进入应用列表,点击“Terminal”(终端)。

注意安装程序内的终端可以直接sudo su -进入管理员模式而不用输入密码。

因为这个系统跟您安装的双系统是分开的,所以这里我们就不用担心分区繁忙的问题了,我们直接运行:

lsblk

然后终端会输出一个树状文件结构,您可以看一下哪一个对应了您的 Ubuntu 系统文件路径(可以看大小,大小与您的 Ubuntu 系统大小一致的就是),比如说是sda1,那么您的系统挂载路径就是/dev/sda1

我们运行:

sudo fsck -f -c 系统挂载路径

如果还是提示分区繁忙,可以运行一下:

sudo umount 系统挂载路径

然后重新运行,等待修复完成即可。

修复完成后,我们重启一下:

sudo reboot

重启后还是会提示一下要拔出启动盘,照做即可。

接下来就会重新进入双系统选择界面,我们直接进入 Ubuntu,问题就解决了。

11.10. 【已解决】我的 VSCode 打开的是我 Windows 系统的某个分盘,但每次开机启动不给我打开……

其实这是因为,在系统启动的时候,您的那个分盘还没有挂载,导致 VSCode 无法访问分盘的路径

解决方法:

sudo cp /etc/fstab /etc/fstab.bak  # 备份
sudo vim /etc/fstab

然后在这个配置文件末尾加上这样格式的文本:

引导区路径 挂载点 ntfs3 defaults,windows_names,uid=1000,gid=1000,rw 0 0

解释一下:

  • ntfs3:用新版的 NTFS 文件系统驱动(若为 FAT32 则是vfat,exFAT 则是exfat
  • defaults:包含常用选项
  • windows_name:不允许在挂载点下新建 Windows 系统不允许的文件/文件夹
  • uidgid:让您有权限进行读写
  • rw:强制用读写形式进行挂载
  • 0 0:表示这不是 Linux 系统盘,反之的是0 1(是系统盘)

其中,引导区路径可以输入lsblk指令,看哪个硬盘最接近您的分盘大小(如nvme0n1p4),那么引导区路径就是在这个前面加上一个/dev/(如/dev/nvme0n1p4)。

挂载点一般都是/media/您的用户名/分盘名称,注意分盘名称不是 C、D 之类的盘符,而是您给这个分盘命名的名称。如果您不确定的话,您可以参考第 6 小节的内容先手动打开以下那个分盘,然后再输入lsblk命令,看您分盘后面那个/media/开头的路径,就是挂载点了。

保存并退出,重启即可。

11.11. 【已解决】为啥 QQ 截图有时候不起作用,功能还有限制?

这其实不怪 QQ,Linux 本身支持的操作就比 Windows 少很多,所以就导致 QQ 对截图支持不佳。

所以建议用系统自带截图软件,按一下PrtSc键(就是 11.4 里面我们用来重启电脑的那个),就能调出截图界面了。

使用方法没啥区别,只是选取需要手动调整,稍微麻烦一点。

在捕获后,系统会把图片同时复制到剪贴板并存储到本地

好在系统截图会在上面提示弹窗,点击一下就可以打开本地的图片文件,悬停然后点击下面的“显示文件”按钮就可以打开本地图片文件的路径(一般是~/图片/截图)并定位到这次截图的图片文件。

11.12. 【未完全解决】连接蓝牙耳机断连后重连出现连接“免手操作”,如何解决?

症状:因为距离过远等情况导致与蓝牙耳机失去连接后,尝试再次连接则连接的是“免手操作”开头的设备,而不是“耳机”开头,并且播放的声音也变得很奇怪。

此时最简单的方法是在终端输入:

sudo systemctl restart bluetooth

重新启动蓝牙服务,然后手动连接一下耳机,即可解决问题。


(以下方法未经过足够验证,仅供参考)

如果想要长期解决问题,可以借助一下系统工具的帮助:

bluetoothctl

如果找不到命令可以安装一下,但一般系统是自带的:

sudo apt install bluez

然后进入蓝牙系统工具的“控制台”,输入命令:

devices

然后找到您的耳机 MAC 地址。

解释一下,MAC 地址全称 Media Access Control Address,直译是“媒体访问控制地址”,不是苹果电脑地址,一般是由 6 部分组成,相邻两部分之间用:间隔,一个部分里有两个十六进制数,比如:

C3:47:5B:C0:F8:15

就是一个合法的 MAC 地址。

具体而言,这个命令会输出像这样的内容:

Device A8:35:12:07:AF:25 HUAWEI FreeBuds SE 2
Device C3:47:5B:C0:F8:15 M585/M590

这里面,Device是固定前缀,中间这些东西都是 MAC 地址,最后是您的蓝牙设备名称。

您可以看一下您的耳机是什么品牌什么型号,大概就可以确定了,比如这里HUAWEI FreeBuds SE 2就明显是编者的耳机。

接下来,输入命令:(真正输入的时候没有那个中括号)

trust [您蓝牙耳机的 MAC 地址]

比如编者就要输入:

trust A8:35:12:07:AF:25

输出这样的结果就成功了:

Changing [您蓝牙耳机的 MAC 地址] trust succeeded

原理是让电脑的蓝牙程序信任您的耳机,并自动连接,来实现解决问题的目的。

11.13. 【未解决】进入 Windows 系统后再回到 Ubuntu,结果不支持多端连接的耳机没法连接了……

(以下方法未经过足够验证,仅供参考)

大概率跟上面一个方法。

11.14. 【已解决】在我正常在 Git 内尝试 push 之后却报错冲突,怎么解决?

症状:在 push 之后日志直接报出类似下面引用框里的错误。

> git pull --tags origin master
From https://...
 * branch              master     -> FETCH_HEAD
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint: 
hint:   git config pull.rebase false  # merge
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint: 
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: Need to specify how to reconcile divergent branches.

这个错误是因为 Git 默认是没法解决 push 的冲突的,得要您自己配置一下。

方法很简单,打开终端输入:

git config --global pull.rebase false

这样可以在出现冲突之后默认就采用合并的方式,并且全局生效(对于所有您本机打开的所有 Git 仓库而言)。

Ubuntu 彩蛋合集

Ubuntu 作为一个开源的系统,其开发者会通过“无厘头的设计”缓解技术工具的严肃性,体现了开源社区的趣味性。

所以在最后,请允许我向您说一些 Ubuntu 内的彩蛋。

(下面彩蛋解析均粘贴自 DeepSeek 的回答,并由编者进行了小修改)

1. 本 APT 具有超级牛力

这是APT包管理器(特别是apt-get命令)中一个著名的复活节彩蛋(Easter Egg),其英文原文为:
“This APT has Super Cow Powers.”

  • 触发方式

    • 运行 apt-get --help 时,帮助文本末尾会显示:
      This APT has Super Cow Powers.(本APT具有超级牛力)。
    • 运行 apt-get moo 会显示一头ASCII艺术奶牛和提示语:
                       (__) 
                       (oo) 
                 /------\/ 
                / |    ||   
               *  /\---/\ 
                  ~~   ~~   
      ..."Have you mooed today?"...
      
  • 彩蛋含义

    • “超级牛力” 是开发者对APT强大功能的幽默比喻,灵感源于早期开发者Jason Gunthorpe在IRC上以“Moo”打招呼的习惯,逐渐演变为社区文化。
    • 奶牛形象可能源自经典命令行工具 cowsay(可用奶牛显示任意文本)。
  • 历史来源

    • 由APT核心开发者 Jason Gunthorpe 于2001年(APT 0.5.0版本)添加,源于开发者社区内部关于“奶牛”的玩笑。
    • 邮件列表记录显示,该彩蛋是对早期Unix文化中 cowsay 工具的致敬。
  • 文化意义

    • 开源幽默:通过无厘头的设计缓解技术工具的严肃性,体现开源社区的趣味性。
    • 社区梗aptitude 的“蛇吞象”彩蛋引用《小王子》,进一步拓展了“超级牛力”的叙事。

2. aptitude 的层级式彩蛋

  • 首先安装一下aptitude
    sudo apt install aptitude
    
  • 运行 aptitude moo 会显示:
    There are no Easter Eggs in this program.(本程序无复活节彩蛋)。
  • 但持续增加 -v 参数会触发隐藏对话
    aptitude -v moo        # → “本程序中确实没有复活节彩蛋。”
    aptitude -vv moo       # → “我不是告诉过您没有彩蛋了吗?”
    aptitude -vvv moo      # → “停下!”
    aptitude -vvvv moo     # → “好吧,如果我给您彩蛋,您会离开吗?”
    aptitude -vvvvv moo    # → 显示大象被蛇吞食的ASCII画(致敬《小王子》)。
    
    此处调侃 aptitude “没有超级牛力”,实则是更复杂的彩蛋。
  • 来源:开发者对用户执着追问的幽默回应,灵感源自圣埃克苏佩里的文学作品。

3. cowsay & xcowsay(会说话的牛)

  • 触发命令
    sudo apt install cowsay xcowsay  # 安装
    cowsay "Hello Ubuntu!"           # 终端牛说话
    xcowsay "图形界面的牛!"         # 弹出窗口牛
    
  • 扩展玩法
    fortune | cowsay                 # 牛说随机名言
    cowsay -f stegosaurus "恐龙版"   # 切换角色(支持龙、幽灵等)
    
  • 来源:源自早期 LISP 编写的 cowsay 工具,后成为终端恶搞标配。

4. sl(蒸汽火车)

  • 触发命令
    sudo apt install sl
    sl                              # 火车从左向右驶过终端
    sl -h                           # 隐藏彩蛋:显示帮助信息中的调侃
    
  • 设计意图:专治手误输入 sl 代替 ls 的用户,用幽默缓解挫败感。

5. fortune(毒鸡汤生成器)

  • 触发命令
    sudo apt install fortune fortune-zh  # 安装中英文库
    fortune                     # 随机英文名言/笑话
    fortune-zh                  # 唐诗宋词/中文段子
    
  • 进阶组合
    fortune | lolcat            # 彩虹色输出(需安装 lolcat)
    

6. hollywood(伪装黑客)

  • 触发命令
    sudo apt install hollywood byobu
    hollywood                   # 分屏显示代码滚动、系统监控等“装忙”界面
    
  • 来源:Ubuntu 开发者 Dustin Kirkland 在长途航班中创作,用于“假装日理万机”。

7. GNOME 桌面隐藏命令

  • 触发方式
    Alt+F2 打开运行窗口,输入以下命令:
    • gegls from outer space → 弹出 丑陋的牛和鱼 的 ASCII 画
    • free the fish → 桌面出现游动的鱼(点击可关闭)
  • 来源:GEGL 是 GIMP 的图像处理库,彩蛋调侃其早期版本渲染效果。

8. oneko(追鼠标的猫)

  • 触发命令
    sudo apt install oneko
    oneko                         # 小猫追随鼠标,不动时睡觉
    
  • 限制:仅支持 X11 桌面环境,Wayland 下失效。

9. sudo 嘲讽模式

  • 触发配置
    sudo visudo                  # 编辑文件
    "Defaults" 行后添加 `Defaults insults`  # 启用嘲讽
    
  • 效果:输错密码时返回毒舌回复(例如 “煎饼脑子,我没时间听你胡说!”)。

10. cal 的诡异月份

  • 触发命令
    cal 9 1752                   # 显示 1752 年 9 月(缺少 11 天)
    
  • 历史背景:1752 年英国切换历法,删除了 9 月 3–13 日。

11. 总结

提示:部分彩蛋(如 oneko)依赖 X11 图形服务器,在 Ubuntu 24.04 默认的 Wayland 下可能失效,可尝试在登录界面切换为 “Ubuntu on Xorg”。

这些彩蛋用幽默彩蛋缓解命令行工具的冰冷感,成为Debian/Ubuntu社区的经典文化符号。同时也体现了 Linux 社区“严谨中藏趣味”的文化——它们虽无实际用途,却在枯燥的命令行中埋下了令人会心一笑的惊喜,成为技术文化中独特的“数字遗产”。

结语

这篇文章花费了作者多天的时间,从开始安装系统到初稿完成就用了近一周,文章总字数甚至达到了 3w+ 字。

希望这篇文章对您有帮助!