平时折腾 Linux,经常会遇到这样的情况:
看到一个没用过的软件,觉得挺有意思,想装上看看。
但 Linux 软件的安装方式五花八门:
APT / DEBPPA / 第三方软件源FlatpakSnapAppImageShell 安装脚本tar.gz 二进制包源码编译……装当然很容易,真正让我犹豫的是:
这个软件到底会往系统里装什么?会不会拉进来一堆依赖?不喜欢以后能不能卸干净?会不会修改 /etc?会不会在 ~/.config、~/.local 里留下一堆东西?第三方安装脚本到底改了什么?
尤其是有些源码安装或者安装脚本,并不存在一个简单的:
就能让系统恢复原样。
于是我开始想:
能不能像 Windows Sandbox 一样,给 Linux 准备一台专门用来“试软件”的机器?
最后,我用 VirtualBox 实际测试了 Ubuntu、Kubuntu、Xubuntu、Lubuntu、Linux Mint,又顺手加入 Ubuntu Server 作为无 GUI 基线。
最终我的选择是:
VirtualBox + Xubuntu 26.04 Minimal + Snapshot
这次不是单纯凭“Xfce 比较轻”这样的印象做决定,而是把内存、磁盘占用和 VirtualBox 中的实际 GUI 流畅度都测了一遍。
结果还挺有意思。

一、为什么需要一台 Linux 软件实验机?
最简单的办法当然是在主系统上直接安装。
比如:
或者:
sudo apt install ./example.debflatpak install ...sudo snap install ...AppImage 更简单:
chmod +x example.AppImage./example.AppImage有的软件则是:
甚至:
git clone ...cmake ...makesudo make install不同安装方式,卸载方式也完全不同。
APT 管理的软件通常比较容易:
sudo apt purge xxxsudo apt autoremove但即使软件包本身删除了,GUI 程序自己的配置往往还会留在:
~/.config~/.local/share~/.cache~/.var所以:
“软件卸载了”和“系统恢复到安装前”并不是一回事。
偶尔安装几个软件当然无所谓。
但如果经常:
发现软件 ↓装上看看 ↓玩半小时 ↓觉得不合适 ↓删除时间长了,主系统还是容易越来越杂。
二、Timeshift 可以回滚,但还不够像 Sandbox
另一个办法是我本来就在使用的 Timeshift。
流程看起来很适合测试软件:
系统状态 A ↓创建 Timeshift 快照 ↓安装软件 ↓测试 ↓恢复快照但实际作为“软件 Sandbox”使用,还是有两个问题。
第一,每次突然想试一个软件之前,都得先创建快照。
第二,也是更重要的一点:
Timeshift 更偏向系统恢复,而不是把整台机器连同用户环境一起恢复。
GUI 软件偏偏很喜欢把配置写进:
~/.config~/.local~/.cache于是可能出现:
系统软件包 恢复了/etc 恢复了/usr 恢复了但用户配置 可能还在这对于系统恢复是合理的,但对于一次性软件实验环境就不够彻底。

三、Container 呢?
Linux 一提隔离,很容易想到:
如果只是测试 CLI 软件,我觉得 Container 非常合适。
例如:
docker run -it ubuntu:26.04 bash进去以后随便折腾,玩完直接删容器。
但是 GUI 软件就麻烦多了。
虽然 Container 当然也能跑 GUI,但很快就会遇到:
DISPLAYX11Wayland SocketD-BusPipeWireAudioGPU权限如果我的目标只是:
“这个 GUI 软件到底好不好用?”
结果却开始折腾显示协议和 Socket,就有点本末倒置了。
所以我现在更倾向于:
CLI 软件 ↓ContainerGUI 软件 ↓Virtual Machine
四、对于 GUI 软件,完整 VM 反而最简单
VirtualBox 里的 Guest 本身就是一台完整 Linux 电脑:
Ubuntu Host │ ▼ VirtualBox │ ▼Linux Desktop VM │ ├── APT / DEB ├── PPA ├── Flatpak ├── Snap ├── AppImage ├── GTK ├── Qt ├── 安装脚本 └── Source Build里面想怎么装就怎么装。
即使:
也没关系。
最坏的结果不过是:
VM 被我玩坏了。
恢复 Snapshot 就结束了。
主系统一点没动。
五、问题变成了:到底用哪个 Linux Desktop 做实验机?
最自然的选择当然是 Ubuntu Desktop。
我的 Host 本身就是 Ubuntu,Guest 也使用 Ubuntu,兼容性最直接。
但真正放进 VirtualBox 后,我发现:
Ubuntu GNOME 虽然功能完整,但作为一台随手启动的软件实验机,体感并不是最理想。
于是我干脆装了一圈:
- Ubuntu 26.04 Desktop
- Kubuntu 26.04
- Xubuntu 26.04
- Lubuntu 26.04
- Linux Mint 22.3 Cinnamon
- Ubuntu 26.04 Server
然后统一测试。
六、测试方法
为了尽量减少变量,我给所有 VM 都统一分配:
CPU、VirtualBox 显示设置等也尽量保持一致。
每个桌面系统安装完成后:
启动 VM ↓登录桌面 ↓等待约 1~2 分钟 ↓不开其他应用 ↓查看内存和磁盘占用内存使用:
磁盘使用:
这不是一个严谨的桌面 Benchmark。
我的目的只是回答一个实际问题:
如果我要长期留一台 GUI 软件测试 VM,哪个系统启动以后更轻、更顺手?
七、安装方式也尽量选择“小安装”
这里还有一个现实问题:
不同 Ubuntu Flavor 的安装器,提供的安装档位并不完全一样。
我的原则很简单:
既然目标是软件实验机,就尽可能选择发行版安装器本身提供的较小安装方式。
实际选择如下:
| | |
|---|
| | Default |
| | Minimal |
| | 两种都测 |
| | Minimal |
| | |
| | |
这里并不是为了做一个完全控制变量的“桌面环境性能评测”。
而是模拟我的真实选择:
如果我要装一台软件测试机,我自然就会选择这个发行版提供的较小安装方案。
八、最终实测结果
测试结果如下:
| | | |
|---|
| | | |
| | | |
| | | |
| Xubuntu 26.04 Desktop | Minimal | 0.7G | 8.3G |
| | | |
| | | |
| | | |
所有 VM 均统一分配 4096MB 内存。free -h 中 Ubuntu 26.04 Desktop 和 Ubuntu Server 的 MemTotal 约为 3.3G,其余系统约为 3.8G。
从数字上看,几个结论已经很明显:
Ubuntu GNOME ≈ 1.1GMint Cinnamon ≈ 1.1GKDE Plasma ≈ 1.0GXfce Desktop ≈ 0.9GXfce Minimal ≈ 0.7GLXQt Minimal ≈ 0.7GUbuntu Server ≈ 0.4G现在的 KDE Plasma 其实已经没有很多人印象中那么“重”。
而 Xfce 和 LXQt 仍然保持着明显的轻量优势。
九、不过这里出现了一个奇怪的问题:明明都分配 4096MB,为什么 Ubuntu 只有 3.3G?
测试的时候我发现一个很奇怪的现象。
所有 VirtualBox VM 明明统一设置:
但:
Ubuntu Desktop free -h Total ≈ 3.3GUbuntu Server free -h Total ≈ 3.3G其他发行版 free -h Total ≈ 3.8G最开始我还怀疑是不是换算方式不同。
后来查了一下,原因找到了:
crashkernel。
在 Ubuntu 26.04 Desktop/Server 里执行:
可以看到:
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M再看:
sudo dmesg | grep -i crashkernel明确显示:
crashkernel reserved:0x00000000bf000000 - 0x00000000df000000 (512 MB)系统里也确实安装了:
dpkg -l | grep -E 'kdump-tools|kexec-tools'结果:
最后:
grep MemTotal /proc/meminfo显示:
原因就很清楚了。
VirtualBox 确实给了:
但 Ubuntu 启动时又为 Kernel Crash Dump 预留了:
于是 Linux 正常内核能够使用的物理内存进一步减少,最终 free -h 看到的大约就是:


这也提醒我:
free -h 的 Total 并不一定等于 VirtualBox 设置里填写的 RAM。
它反映的是内核实际能够使用的内存。
因此命令里的 Available 也不能简单横向比较:
并不能直接说明 Mint 比 Ubuntu 少用了 600MB。
因为 Ubuntu 一开始就少了约 512MB 可用物理内存。
真正更值得看的还是:
以及实际桌面体验。
十、Ubuntu 26.04:内存其实没有夸张,但 VirtualBox 中明显顿挫
Ubuntu 26.04 Desktop 使用 GNOME。
本次选择的是较小的:
实测:
Memory Used ≈ 1.1GDisk Used ≈ 11G
单看 RAM,其实并没有比 KDE、Cinnamon 高多少。
这次测试最让我在意的反而不是内存,而是:
GNOME 在 VirtualBox 里的实际 GUI 流畅度。
窗口、动画、Overview、工作区切换等操作,能明显感觉到一些顿挫。
我的实体 Ubuntu 上 GNOME 并没有这种明显问题,所以这里更可能是:
GNOME Shell +Mutter +较多实时动画 / 合成 ↓VirtualBox Virtual GPU产生的组合效果。
而我这台 VM 本来就是要:
测试 GUI 软件。
如果桌面本身就一卡一卡的,会直接影响我判断:
到底是被测软件卡,还是虚拟桌面本身卡?
这对 GUI 测试其实是一个很重要的问题。

十一、Kubuntu 26.04:KDE 已经很轻,而且明显比 GNOME 顺
Kubuntu 使用 KDE Plasma。
安装时我选择:
结果:
Memory Used ≈ 1.0GDisk Used ≈ 6.7G
只看内存:
差距非常小。
这再次说明:
今天的 KDE Plasma 已经不能简单地贴上“重量级桌面”的标签了。
实际在 VirtualBox 里的体验也让我比较意外:
KDE 明显比 GNOME 顺畅。
菜单、窗口切换和普通桌面操作都舒服不少。
但是作为“通用软件实验基线”,Kubuntu 有另一个问题:
QtKIOKDE FrameworksPlasma本身已经存在很多 KDE 组件。
例如我要研究:
安装 Kate 或 Dolphin 到底会额外拉进多少 KDE 依赖?
那么在 Kubuntu 里反而不容易观察出来。
所以:
Kubuntu 是很好的桌面系统,但不一定是最中性的通用实验基线。

十二、Linux Mint 22.3 Cinnamon:漂亮、成熟,但不是我的目标基线
Linux Mint Cinnamon 这次表现也不错:
Memory Used ≈ 1.1GDisk Used ≈ 12G
它没有安装档位可以选择,所以直接使用默认安装。
实际桌面依然是我认为非常适合 Windows 用户的一套 Linux UI:
整个系统非常完整、精致。
但我的实验机目标并不是:
找一套最好用的 Linux Desktop。
而是:
找一个尽量简单的 Ubuntu 系 GUI 软件测试环境。
Mint 自己还有:
Update ManagerSoftware ManagerMint ToolsMint 默认配置所以对于我的用途,它稍微多了一层 Mint 自己的东西。

十三、Xubuntu 26.04 Desktop:已经很轻
Xubuntu 使用 XFCE。
我这次特意把两个安装版本都测了一遍。
首先是:
结果:
Memory Used ≈ 0.9GDisk Used ≈ 13G
RAM 已经明显低于:
GNOME 1.1GKDE 1.0GCinnamon 1.1G而且实际操作起来非常直接。
XFCE 没有那么多复杂动画:
点击菜单 ↓直接出来拖窗口 ↓直接移动打开文件管理器 ↓马上响应在 VirtualBox 这种虚拟 GPU 环境里,这种传统桌面的优势非常明显。
十四、Xubuntu 26.04 Minimal:这才是我要的实验机
然后我重新安装:
结果:
Memory Used ≈ 0.7GAvailable ≈ 3.1GDisk Used ≈ 8.3G
和 Desktop 安装相比:
Desktop MinimalMemory Used 0.9G 0.7GDisk Used 13.0G 8.3G也就是大约少:
这里 Minimal 的价值就非常清楚了。
它不只是为了省一点 RAM。
更重要的是:
系统预装的软件更少,测试基线也更干净。
我要装一个陌生软件时,更容易观察:
新增了哪些包新增了哪些菜单项新增了哪些依赖新增了哪些服务对于软件实验机来说,这比单纯省几百 MB 内存更加重要。
而且 XFCE 在 VirtualBox 中的实际流畅度也是我这几套桌面里最满意的。

十五、Lubuntu 26.04:其实比 Xubuntu 还省磁盘
Lubuntu 使用 LXQt。
同样选择:
结果:
Memory Used ≈ 0.7GDisk Used ≈ 5.5G
也就是说:
Xubuntu Minimal 0.7G / 8.3GLubuntu Minimal 0.7G / 5.5G如果只是追求:
最低磁盘占用
Lubuntu 反而更漂亮。
所以我的结论并不是:
Xubuntu 是所有发行版中最省资源的。
准确说应该是:
Xubuntu Minimal 和 Lubuntu Minimal 的空闲 RAM 基本打平,而 Lubuntu 的磁盘占用更低。
但综合桌面完整度、实际操作习惯,以及我对 XFCE 这套传统桌面环境的体验,我还是更愿意长期保留 Xubuntu 作为软件测试机。
Lubuntu 同样是非常不错的轻量选择。

十六、Ubuntu Server:400MB,给出了一个很好玩的基线
最后我还装了:
作为没有 GUI 的基线。
结果:
Memory Used ≈ 0.4GDisk Used ≈ 7G
于是就有了一条非常直观的阶梯:
Ubuntu Server ≈ 0.4G ↓Xfce / LXQt ≈ 0.7G ↓KDE Plasma ≈ 1.0G ↓GNOME / Cinnamon ≈ 1.1G当然不能简单理解成:
XFCE 本身正好吃 300MB。
因为每个发行版启动的服务和默认配置都不同。
但作为实际 VM 的整体结果,这已经很有参考价值。
顺便也能看出:
“没有 GUI”不等于“磁盘一定最小”。
Ubuntu Server:
反而还比:
更大。
这再次说明:
RAM、磁盘占用、桌面轻重,本来就是不同维度。
十七、这次测试让我改变了一个看法:RAM 并不是最重要的指标
最开始我想当然地认为:
然后准备用 free -h 证明这一点。
真正测完以后发现,事情没这么简单。
例如:
Ubuntu GNOME ≈ 1.1GKDE Plasma ≈ 1.0G只差:
但实际操作体验却明显不是只差 100MB:
GNOME→ VirtualBox 中明显容易顿挫KDE→ 顺畅很多XFCE→ 更加轻快直接这说明所谓“桌面轻量”,至少应该包括:
内存占用CPU 开销GPU / Compositor 压力动画复杂度后台服务交互响应而对于我的用途:
GUI 软件测试机
实际界面流畅度尤其重要。
毕竟我要测试的是:
窗口菜单文件选择器GTK / Qt 界面系统托盘字体主题拖拽各种 GUI 交互如果 VM 自己的桌面都卡,就会给软件测试本身增加一个干扰变量。
所以现在我更在意的是:
桌面在 VirtualBox 里的实际响应是否足够直接。
这恰恰是 XFCE 很适合这个场景的地方。
十八、所以我最终选择 Xubuntu Minimal
经过这一圈实际测试,我最终留下:
不是因为它每一项数据都是第一名。
实际上:
最低 RAM→ Xubuntu / Lubuntu 并列最低磁盘→ Lubuntu最标准 Ubuntu Desktop→ UbuntuKDE 生态→ KubuntuWindows 用户友好→ Linux Mint但如果问题变成:
哪一个最适合长期放在 VirtualBox 里,作为一台随时打开的 Ubuntu GUI 软件实验机?
我的答案还是:
Xubuntu Minimal。
因为它同时具备:
Ubuntu 官方 FlavorUbuntu 软件生态完整 GUIXFCE 足够成熟VirtualBox 中很流畅空闲 RAM ≈ 0.7G安装基线比较干净这几个条件放在一起,正好符合我的用途。

十九、我的 Xubuntu 软件实验机配置
实际使用我准备给它:
2 vCPU4 GB RAM40~60 GB 动态 VDIVMSVGA128 MB Video Memory3D Acceleration实测空闲时只有约:
所以 4GB 对这种用途已经很宽裕。
毕竟它不是第二台主力机。
它通常只负责:
二十、真正让这台 VM 变成 Sandbox 的,是 Snapshot
Xubuntu 装好以后,我会先把基础环境准备完成:
Xubuntu Minimal ↓系统更新 ↓Guest Additions ↓共享剪贴板 ↓分辨率和基础设置 ↓完全关机然后在 VirtualBox 中:
创建一个:
以后整个测试流程就变成:
Restore Xubuntu Clean ↓启动 VM ↓安装陌生软件 ↓随便折腾 ↓测试完成 ↓关机 ↓Restore Xubuntu Clean下一次启动,又是一台干干净净的系统。

二十一、这甚至比“卸载软件”更省心
传统的软件测试结束以后:
卸载软件 ↓清理依赖 ↓找 ~/.config ↓找 ~/.local ↓找缓存 ↓还要考虑安装脚本到底改了什么VM Snapshot:
结束。

无论软件是:
DEBFlatpakSnapAppImage安装脚本源码编译都一样。
这才是真正让我觉得它像:
Linux 版的软件 Sandbox。
二十二、Snapshot、Full Clone 和我以前直接复制 VM 目录有什么区别?
以前我的习惯其实更加简单粗暴:
VM 关机 ↓复制整个 VirtualBox VM 目录 ↓改名保存这个办法其实非常可靠。
因为 .vbox、.vdi、Snapshots 等通常都在 VM 目录里。
完全关机后把整个目录复制下来,本质上就是:
文件级完整备份。
问题是:
所以现在我更愿意这样区分:
Snapshot→ 日常测试的“撤销键”Full Clone→ 独立、长期保存的完整母盘复制整个 VM 目录→ 最朴素的离线文件备份对于这台软件实验机:
一个 Clean Snapshot 就够了。
也没有必要不断往下叠:
Snapshot 1 ↓Snapshot 2 ↓Snapshot 3 ↓……保持简单最好。
二十三、还有一个容易忽略的地方:Shared Folder 不会跟着 Snapshot 回滚
VirtualBox Snapshot 恢复的是:
Guest 的虚拟磁盘。
如果测试数据放在:
那文件真正存在:
并不在 Guest 的 VDI 里。
所以:
不会恢复 Host Shared Folder 里的文件。
如果我要测试:
一个软件到底会怎么修改某些文件
这些测试文件最好直接放到:
里面。
这样才能真正“一键恢复现场”。
二十四、Xubuntu 也不是万能测试环境
最后还是需要强调:
Xubuntu 是我的:
默认 GUI 软件测试环境。
但不是所有 Linux GUI 功能都应该用它测试。
例如:
GNOME Shell ExtensionUbuntu DockGNOME SettingsGNOME Wayland 特性显然应该使用:
如果测试:
KDE Plasma WidgetKWinPlasma WaylandDolphin Plugin就应该用:
如果测试:
NVIDIA Driver真实 GPUWi-Fi DriverBluetooth特殊 USB 硬件内核硬件兼容性虚拟机更不能完全代表实体机。
所以我的选择逻辑最终是:
普通 Linux GUI 软件 ↓Xubuntu MinimalGNOME 特有功能 ↓Ubuntu DesktopKDE / Plasma 特有功能 ↓Kubuntu真实硬件 / 驱动 ↓实体机
写在最后
最开始我只是想解决一个非常简单的问题:
看到一个有意思的 Linux 软件,想装上看看,但又不想把自己的 Ubuntu 主系统越装越乱。
真正测试下来以后,反而顺便对几套 Linux Desktop 有了更直观的认识。
这次实测:
Ubuntu GNOME ≈ 1.1GKDE Plasma ≈ 1.0GXfce Minimal ≈ 0.7GLXQt Minimal ≈ 0.7GCinnamon ≈ 1.1GUbuntu Server ≈ 0.4G但比这些数字更让我在意的是:
内存占用相近,不代表 GUI 体验相近。
在 VirtualBox 里:
GNOME→ 明显更容易出现顿挫KDE→ 已经顺畅很多XFCE→ 非常轻快直接而我恰恰是为了测试:
GUI 软件。
所以最终决定我的,并不只是那几百 MB RAM。
而是:
轻量+完整 GUI+Ubuntu 软件生态+VirtualBox 中足够流畅+Minimal 安装足够干净+Snapshot 可以随时回滚最终方案也就变得非常简单:
VirtualBox+Xubuntu 26.04 Minimal+2 vCPU+4 GB RAM+Xubuntu Clean Snapshot以后再看到一个有意思的软件:
甚至连“这个软件到底能不能卸干净”都不用纠结了。
因为连卸载都可以省了。