过去一年,越来越多开发者的日常工作流变成了这样:在 Windows 上用 wsl 打开一个 Linux 终端,让 AI 编码助手在里面跑构建、装依赖、拉仓库;模型推理、向量检索、ComfyUI、Ollama 这些本地 AI 工具,也常常被装进 WSL 里运行。WSL 从"偶尔用一下的兼容层",变成了事实上的 AI 开发底座。
但命令行里的 wsl -l -v、wsl --export、wsl --import 对普通用户并不友好:发行版散落在不同磁盘、VHDX 动辄几十 GB、想换个盘要手动迁移、想临时挂载磁盘拷文件只能翻文档、USB 设备要跨进 WSL 还得记住 usbipd 的一串命令。环境越重要,管理的工具却越原始。
本期推荐的 Rust 开源项目 WSL Dashboard,正是一款为这类场景打造的现代化 WSL 实例管理仪表板:用 Rust + Slint 构建,原生、轻量、低内存,把 WSL 的日常管理从命令行搬进了图形界面,并同时原生支持 x64 与 arm64 两种 Windows 平台。
01 一键掌控发行版:把 WSL 变成可视化的"应用"
WSL Dashboard 的主界面是一张发行版卡片列表,每张卡片实时呈现实例的运行状态、磁盘占用与文件位置,把原本只能靠命令查询的信息直接摊开在眼前。
围绕实例生命周期,它提供了完整的操作闭环:
- 一键启动、停止、终止、注销,状态实时刷新,不再依赖记忆命令;
- 设为默认发行版、物理迁移(把 VHDX 移动到其他磁盘)、导出/克隆为
.tar或.tar.gz存档; - 发行版备注:可为每个实例填写备注,卡片上直接区分"这个环境是干什么的";
- 安装发行版:支持 Microsoft Store/GitHub、本地文件(RootFS / VHDX)以及在线镜像源四种途径。

国内网络下的"几十秒装好一个 Linux"
这一点值得单独强调。在国内,从微软官方源下载 Linux 发行版往往非常缓慢——链路跨境,动辄要等上几十分钟,甚至中途失败。WSL Dashboard 为此集成了多家国内发行版镜像源,并在安装前对候选镜像自动测速:实际下载一小段数据来测量真实吞吐,失败时回退到延迟探测,自动为用户挑选当前最快的源。
配合内置的 "在线镜像源" 安装方式,在国内网络环境下安装一个 Linux 发行版通常只需几十秒,把"等半小时装一个环境"变成"喝口水就装好"。测速与下载全程异步执行,界面不会卡住。

02 磁盘、网络、USB、定时任务:围绕 WSL 的一站式工具箱
WSL Dashboard 的价值不只是"启动/停止",而是把 WSL 周边最琐碎但高频的需求收进同一个界面:
- 磁盘挂载:直接在 UI 中挂载、卸载和管理 WSL 实例的 VHDX 虚拟磁盘,在宿主机与 WSL 之间传文件不再需要记
wsl --mount的参数; - 端口转发:无缝管理端口转发规则,自动创建对应的 Windows 防火墙规则,把 WSL 里的服务暴露给局域网只需点几下;
- 全局 HTTP 代理:统一配置 WSL 的代理,解决"宿主机有代理、WSL 里拉不动包"的老问题;
- USB 设备管理:与
usbipd-win深度集成,可在面板里直接完成本地 USB 设备的绑定、附加和管理,把摄像头、串口、调试器等设备接进 WSL; - 任务计划:支持按指定时间或周期在 WSL 实例中自动执行脚本与命令,实现自动化运维;
- 快速集成:一键进入终端、VS Code 或文件资源管理器,支持自定义工作目录和启动脚本钩子。
底层的网络能力通过 Windows 原生接口实现(netsh portproxy 规则 + 防火墙 API),并非简单地调用第三方脚本,因此规则状态可查、可清理。

03 开机自启:让 Linux 环境随 Windows 一起上线
对把 WSL 当作长期服务来用的用户来说,"开机之后一切就绪"远比"需要时再手动点一下"重要。WSL Dashboard 把这套开机流程做成了自动化:
- 发行版自动保活:为发行版开启「开机自启」后,系统会注册对应的计划任务。Windows 启动时,目标发行版会在后台被拉起并执行保活脚本,让 Linux 环境作为常驻服务随 Windows 一同上线,无需人工干预;
- 端口转发自动恢复:WSL 的 IP 在每次重启后都可能变化,手工配置的端口转发规则因此常常"重启即失效"。WSL Dashboard 会在开机时自动重新同步端口转发规则及对应的防火墙规则,让暴露给局域网的服务在重启后依然可达;
- USB 设备自动挂载:可为设备开启「开机自动附加」,Windows 启动并检测到 WSL 实例运行后,会自动完成 USB 设备的绑定与附加;多个设备会被合并为一次授权操作,避免反复弹出 UAC 提示。
此外,仪表板本身也支持开机自启动(可配合静默参数直接最小化到系统托盘常驻),并且在程序被移动位置后自动修复启动路径,让便携版也能稳定长期驻留。
最佳实践:把 Windows 变成"开机即用"的 Linux 服务机
把上面的自动化能力与发行版的启动脚本钩子搭配起来,就能把一台普通的 Windows 电脑,变成一台常驻的 Linux 服务机。配置只需三步:
- 填写启动脚本钩子:在发行版设置里指定一个启动脚本,让它负责拉起你需要的服务(例如 MySQL、Redis、Nginx 等);
- 开启发行版开机自启:让该发行版随 Windows 一同在后台启动并保活;
- 配置端口转发:为需要对外暴露的服务端口建好转发规则,防火墙会自动放行。
配好之后,Windows 一开机,这套流程就会自动跑完:Linux 发行版被拉起 → 启动脚本把 MySQL、Redis 等服务逐个启动 → 端口转发与防火墙规则自动就绪。整个过程无需登录桌面、无需打开终端、也无需记住任何 Linux 命令,局域网内的其他开发者就能直接连接这台机器上的数据库等服务。
对小型团队或独立开发者而言,这相当于免费获得了一台"开机即用"的开发 / 测试服务器:不用再为一台常驻的 Redis 或 MySQL 单独准备机器和运维脚本,一台 Windows 工作站就能胜任。
04 面向 AI 时代的两类用户
WSL Dashboard 想解决的,是两类截然不同、但都在快速增长的用户。
对开发者而言,它是多环境并行工作的"控制台"。今天的开发流程里,一个项目一个 WSL 发行版已是常态:project-a 用 Python 3.11,project-b 用 Node 22,实验环境想另外开一个"脏"发行版随便折腾。AI 编码助手(无论是终端里的 Agent 还是 IDE 插件)会在环境里执行各种命令、安装依赖、生成文件——环境隔离与快速重建变得比以往更重要。WSL Dashboard 让"克隆一份干净环境""把大文件挪到另一个盘""导出快照再回滚"这些操作变成点击即得,缺空间时还能挂载 VHDX 直接在宿主机侧清理。
对普通 AI 用户而言,它是"不必懂 Linux 也能用 Linux"的入口。本地跑开源大模型、语音转写、图像生成,往往需要 WSL 提供 Linux 运行时。这类用户不需要记住 apt、systemctl 或 usbipd,只需要一个图形界面:装一个发行版、看到它占了多少空间、需要时启动和关闭、下载慢时自动换快源。WSL Dashboard 把门槛压到了"能看懂按钮"的程度。
无论是为了 AI 工具链,还是为了更顺手的日常开发,它都在做同一件事:把 WSL 从"需要学习"变成"开箱即用"。
05 性能:Rust 的极致轻量
作为一个常驻后台的工具,性能和资源占用是 WSL Dashboard 最核心的竞争力,也是它选择 Rust 的直接理由。
- 内存占用:静默启动(系统托盘常驻)仅约 10MB;打开窗口时,标准语言(英文、德文、西班牙文等)约 18MB,中日韩等大字符集语言约 38MB。
- 单文件分发:优化后的发布版是单个可执行文件,约 30MB,无需安装、无运行时依赖,下载即用。
- 双架构原生支持:同时提供 x64 与 arm64 原生构建版本,Windows on ARM 设备(如骁龙笔记本)无需模拟层即可运行;安装包按架构区分,安装时会校验目标架构。
- 渲染性能:UI 由 Slint + Skia 驱动,配合深色/浅色主题与流畅动画;异步任务全部交给 Tokio,系统命令与 I/O 不阻塞界面,WSL 状态实时刷新。
这些数字背后是大量工程取舍。项目为发布版本启用了整套体积优化策略:
[profile.release]
opt-level = "z" # 优先最小体积
lto = true # 全程序链接时优化
codegen-units = 1 # 为 LTO 让路
strip = true # 剥离调试符号
panic = "abort" # 去掉 unwind 开销
日常开发中还内置了堆内存分析能力,持续追踪内存分配,把"低内存"从口号变成了可量化的指标。
06 Rust 在这里承担了什么
WSL Dashboard 目前约 2.1 万行 Rust 代码,配合 50 个 .slint 界面文件,按 WSL 命令封装、应用生命周期、界面交互、网络与设备等职责清晰分层。Rust 在其中解决了几件具体的事:
第一,用类型和所有权管住跨线程的状态。 应用需要同时与 WSL 命令、系统托盘、UI 事件循环、后台任务打交道,Rust 的借用检查与类型系统让共享状态的并发访问边界清晰,无需 GC 也不会产生数据竞争。
第二,用 RAII 表达"操作中"的生命周期。 迁移、导出这类长耗时操作必须有互斥保护。项目用一个 RAII 守卫把"注册操作 → 执行 → 自动注销"封装起来,作用域结束即释放,避免忘记解锁导致的界面卡死——这正是 Rust 所有权思想在业务层的直接收益。
第三,在系统边界上做严谨的原生调用。 单实例运行依赖 Windows 命名互斥体(CreateMutexW)+ 命名管道唤醒;窗口激活、开机自启、注册表读取等全部通过 windows-rs 精确调用 Win32 API,不依赖外部脚本,行为可控、可审计。
第四,把异步资源调度做成预算。 镜像测速、上传下载、心跳上报等网络任务全部基于 Tokio 的超时与并发控制:测速有明确的 3MB / 6 秒预算,请求失败自动回退,界面始终可用。
跨平台构建同样是 Rust 的强项。WSL Dashboard 同时原生支持 x64 与 arm64 两种 Windows 平台:安装包与便携版压缩包按架构区分,安装时会校验目标架构,关于页面也会显示当前运行架构。对使用骁龙笔记本(Windows on ARM)的开发者来说,这是一份原生、而非模拟层之上的运行体验。
07 上手很简单
WSL Dashboard 提供三种安装方式,任选其一即可。界面提供 50 种语言,默认跟随系统语言。
方式一:官网或 GitHub Releases 下载可执行文件
前往 官网下载页 或 GitHub Releases 下载 便携版 或 安装版 文件。
方式二:winget 一键安装
winget install wsl-dashboard
方式三:源码克隆编译
需先安装 Rust 工具链(Rust 1.92+):
git clone https://github.com/owu/wsl-dashboard.git
cd wsl-dashboard
cargo run
08 社区共建,欢迎参与
WSL Dashboard 采用 GPL-3.0 协议开源,代码与迭代全部公开。它既是一个可以日常使用的成熟工具,也是一个适合参与的真实 Rust 工程:系统编程、异步并发、原生 GUI、跨架构构建、国际化——几乎每一块都有可以切入的地方。
- 反馈与共建:欢迎提交 Issue 与 PR,Bug 修复、文档、翻译、测试均受欢迎;
- 加入讨论:官方社区设有微信群与 Telegram 群,欢迎交流使用心得、反馈问题、获取最新动态;
- 点亮 Star:如果它帮到了你,欢迎在 GitHub 上留下一颗星。
项目地址:https://github.com/owu/wsl-dashboard
官方网站:https://www.wslui.com
Ext Link: https://github.com/owu/wsl-dashboard
评论区
写评论最新版本,已经原生支持了 arm 的windows,欢迎围观,欢迎使用
嗯,一个人。 其实2种语言和29中语言差别不大的,只要多语言的机制建立起来,就容易了。
多语言比较麻烦的是 ,在保持 LTR语言的布局下,要兼容实现RTL语言的布局(例如阿拉伯语、阿拉伯语言从右往左书写,并且文字比较小,要根据语言做文字的缩放,不然看不清文字),这个比较耗费我的时间精力。
--
👇
asuper: 这是你一个人做的?搞定29种语言?有点牛。
我一直在用Slint,很多用法自己摸索的,实现的比较丑,你这个项目值得我好好学习,感谢!
这是你一个人做的?搞定29种语言?有点牛。
我一直在用Slint,很多用法自己摸索的,实现的比较丑,你这个项目值得我好好学习,感谢!