一个关于"寻找平衡"的故事
三年前,我的工作台很简单:一台轻薄本,轻得几乎感觉不到存在,续航撑一整天,带去图书馆、咖啡厅毫无压力。
但问题是——它跑不动我想做的事情。
深度学习训练?核显看着干着急。Docker 构建一次等半天。开个虚拟机就卡到怀疑人生。我面临的是一个经典困境:轻薄本陪我到处跑,但真正需要干活时,它只能在一旁看着。
后来我做了个决定:买台台式机,笔记本继续带着。再后来,我发现了 WSL2。
今天,我想分享这套让我工作更舒服、学习更高效的方案——不是一篇教程,而是这套系统运行一年后的真实体验。
第一部分:为什么是"台式机 + 笔记本"?
让我们先聊聊硬件选择。这不是关于"哪个更好",而是关于"让每个设备做它最擅长的事"。
我的两台设备
| 设备 | 配置 | 角色定位 |
|---|---|---|
| 台式机 | Ryzen 5 7500F + RTX 4060 + 32GB RAM | 算力中心,固定不动 |
| 笔记本 | i5-11320H + 核显 + 16GB RAM | 移动终端,随身携带 |
这套组合的成本其实比一台高端游戏本更低,但体验却好得多。
核心思路:分离关注点
想象一下,如果你的手机和电脑是同一台设备——充电时不能带出门,带出门时插着键盘很奇怪。这听起来很荒谬,但我们却经常要求一台笔记本既扛得住 3A 游戏又要轻薄续航。
双设备的核心哲学是承认现实:没有完美的单一设备。
台式机的优势很简单:
- 性能释放彻底,不用担心散热和续航
- 可以升级,未来加内存、换显卡都不是问题
- 屏幕大、键盘好,长期工作不累
笔记本的优势也很明确:
- 想带去哪就去哪
- 电池能撑一天
- 轻到背在身上没感觉
当我不再要求一台设备"什么都行"时,反而找到了真正舒服的使用方式。
第二部分:Windows + WSL2,为什么这么好用?
现在聊聊软件层面。很多人有 Linux 情结,认为"真正的开发者用原生 Linux"。我曾经也是这样想的,直到 WSL2 改变了游戏规则。
WSL2 到底是什么?
简单说,WSL2 就是 Windows 里面跑一个真正的 Linux 虚拟机——不是那种慢吞吞的传统虚拟机,而是和 Windows 内核深度集成的高性能方案。
你可以在 Windows 上:
- 用 Chrome 看论文、逛 GitHub
- 用 Office 写文档、做 PPT
- 玩 Windows 独占游戏
同时,在 WSL2 里:
- 跑你的 Docker 容器
- 用 PyTorch 训练模型
- 用 ROS 做机器人仿真
- 用 vim/nvim/VS Code 写代码
关键是,两者之间的界限几乎消失了。
一天的工作流是什么样的?
早上起床,我坐在台式机前:
1. Windows 打开 VS Code(安装了 Remote - WSL 插件)
2. 打开的不是 Windows 上的文件夹,而是 WSL2 里的项目
3. 代码运行、调试、训练,全在 Linux 环境里
4. 但界面、快捷键、复制粘贴,全是我熟悉的 Windows
需要看训练曲线?浏览器打开 localhost:6006,TensorBoard 跑在 WSL2,浏览器是 Windows。
需要查资料?Chrome 在 Windows,复制粘贴到终端,无缝衔接。
需要改论文?Word 在 Windows,数据和代码在 WSL2,导出图表直接用。
我没有切换系统,只是在同一个系统里用了不同的工具。
第三部分:台式机 vs 笔记本,到底怎么分工?
这是最容易被问到的:两台设备不会打架吗?代码怎么同步?训练在哪儿跑?
让我分享一下我实际的工作方式。
台式机:算力总部
我的台式机 90% 时间放在书桌上,它的工作内容很明确:
Windows 端负责:
- 游戏和娱乐
- 重型软件(CAD、仿真、Adobe 全家桶)
- 论文写作、PPT 制作
- 监控训练进度(TensorBoard、wandb)
WSL2 端负责:
- 深度学习训练
- Docker 容器
- 代码编译和测试
- 长期运行的服务
资源配置是这样的(在 C:\Users\你的用户名\.wslconfig):
[wsl2]
memory=22GB # 给 Linux 足够内存
processors=10 # 留两个线程给 Windows
swap=8GB # 防止内存爆了
这样分配的结果:Windows 开游戏、开仿真软件时,WSL2 后台跑训练互不干扰。
笔记本:移动办公室
笔记本的角色完全不同,它更像一个"远程控制台":
Windows 端负责(95% 时间):
- 上课记笔记
- 图书馆写论文
- 咖啡厅改代码
- 远程控制台式机
WSL2 端负责(偶尔):
- 改代码、测试小脚本
- 同步代码仓库
- 不跑任何重型训练
笔记本的 WSL2 配置很保守:
[wsl2]
memory=6GB # 够用就行
processors=4 # 留电
swap=4GB
核显笔记本跑 CUDA 本来就慢,不如承认现实:笔记本不负责算力,只负责连接算力。
两台设备如何配合?
我的一天通常是这样的:
在家/实验室:
- 主力用台式机,笔记本放在旁边当副屏
- 台式机 WSL2 跑训练,Windows 看论文写文档
- 需要查资料时,笔记本更方便
外出/上课:
- 只带笔记本
- 需要查看台式机训练进度?SSH 远程连上
- 发现代码有 bug?笔记本改完,git push,台式机 pull
晚上想玩游戏:
- 台式机暂停训练
- Windows 直接开游戏
- 不用重启,不用考虑虚拟机占用资源
第四部分:那些踩过的坑
没有方案是完美的,这套系统也有自己的坑。分享一下我遇到的问题和解决方案。
问题一:文件放哪里很重要
刚开始我把代码放在 Windows 盘,从 WSL2 访问。结果:慢得离谱。
后来学乖了,所有代码、数据集、模型权重全放 WSL2 内部。Windows 需要查看时,在文件管理器输入 \\wsl$ 就能访问。
性能差异有多大? Docker 构建从 5 分钟降到 30 秒,不是开玩笑的。
问题二:WSL2 网络偶尔抽风
WSL2 用 NAT 网络,有时候 localhost 访问不了,有时候 VPN 连上后网络全挂。
解决方案:
- 开发时尽量用固定端口
- 必要时用镜像网络模式(Windows 11 22H2+ 支持)
- 实在不行就
wsl --restart
问题三:磁盘空间悄悄被吃掉
WSL2 的虚拟硬盘会自动扩张,但不会自动收缩。删了文件,空间不释放。
定期手动清理:
# 在 PowerShell 里
wsl --shutdown
# 然后进入磁盘管理,压缩 VHD
或者开启自动回收(Windows 11 最新版支持)。
问题四:两台设备的代码同步
最怕的是:台式机改了代码,笔记本不知道;笔记本改了代码,台式机还在用旧版本。
解决方案很简单:Git 作为唯一的真相来源。
所有代码必须在 Git 仓库里,两台设备只通过 git 同步,绝不拷文件。虽然多了 push/pull 这一步,但避免了无数次"改错版本"的灾难。
第五部分:这套方案适合谁?
说了一年体验,这套系统不是万能药。它最适合的是这些人群:
✅ 适合:
- 有固定工作场所(家/实验室/办公室)
- 需要高性能计算(训练、渲染、编译)
- 经常外出但不需在外办公
- 愿意花一点时间设置同步方案
❌ 不适合:
- 住宿舍、活动范围小(一台高性能本够了)
- 经常出差、飞来飞去(台式机浪费)
- 预算紧张(两台设备成本高)
- 懒得管理多设备(单设备省心)
一个简单的判断标准:如果你的台式机有 30% 时间处于闲置状态,你可能不需要它。
第六部分:一些想说的话
写到这里,我想分享一些超越"技术配置"的思考。
关于"最佳方案"
我见过太多人追求"终极配置",买最贵的硬件、用最复杂的工具链。但我的经验是:让你忘记工具存在、专注于做事本身的方案,才是好方案。
这套双设备 + WSL2 系统,我几乎不用想"在哪个系统"、“用什么设备”。打开就是用,用完就走。
关于"是否值得"
双设备意味着更高的初始成本、更多的维护工作。但它也带来了更舒服的体验、更高的效率。
对我来说,这是值得的。但对其他人?不一定。
最好的办法是:从小规模开始试验。 先试着用 WSL2,再考虑是否需要双设备。循序渐进,别一步到位。
关于"未来"
云服务、远程桌面正在改变这个游戏。也许几年后,我们只需要一个轻薄终端,所有的计算都在云端完成。
但就当下,就 2026 年,台式机 + 笔记本 + WSL2 依然是我能想到的最平衡方案。
最后:一个简单的开始
如果你被这套方案打动,想试试,我建议这样开始:
第一步: 在现有电脑上装 WSL2,感受一下 Linux 和 Windows 共存的体验
第二步: 问问自己,是否有场景需要"移动 + 性能"双需求
第三步: 如果答案是有,考虑添置第二台设备
第四步: 用 Git 同步代码,用远程连接桥接两台设备
不需要一步到位,慢慢来,找到最适合自己的节奏。
些参考资料
如果你想深入了解某个部分,这些文章可能有帮助:
- Making Windows Disappear: A Linux Developer’s Guide to WSL2
- WSL2 Performance Optimization Guide
- Improving Dockerized Projects in WSL2
希望这篇文章能帮你找到属于自己的生产力方案。记住:没有最好的配置,只有最适合你的配置。