WebVM 2.0界面你是不是也有过这种崩溃的经历?想学学Linux命令,结果装个虚拟机搞得电脑卡成PPT;或者是临时需要编译个程序,结果发现手头的电脑没有开发环境;再或者就是想试试某个Linux工具,却不想折腾双系统...
前阵子我在GitHub上闲逛的时候,发现了一个挺有意思的项目,直接让我惊了——它居然能让你在浏览器里跑完整的Linux系统!
不是那种简化的在线终端,是真的能跑Python、能gcc编译、甚至能跑图形界面Debian的完整虚拟机。
这个项目就是WebVM,目前已经拿了近万个Star,最近更新的2.0版本更是加入了桌面环境支持。
WebVM架构图这玩意儿到底能干啥?
简单来说,WebVM就是一个"无服务器"的Linux虚拟环境。它完全跑在你的浏览器里,用的是HTML5和WebAssembly技术,不需要你准备VPS,也不需要本地装任何软件。打开网页就能用,关掉网页就走人,特别方便。
它背后是CheerpX虚拟化引擎在撑腰,这个引擎能把x86指令实时编译成WebAssembly代码。所以你可以在浏览器里直接跑原生的Debian系统,而且兼容性做得相当不错,各种开发工具链像Python、GCC、Node.js这些都是开箱即用。
最让我惊喜的是它的网络功能。虽然浏览器本身对TCP/UDP支持有限,但通过集成Tailscale,你居然可以在浏览器里的Linux系统中访问网络,甚至能ssh到远程服务器。而且2.0版本还加上了Xorg支持,也就是说你现在可以在浏览器里打开i3窗口管理器,跑一些图形化的Linux应用了。
WebVM桌面环境怎么用?手把手教你上手
其实WebVM用起来超级简单,基本上有两种玩法:
第一种,直接在线体验(适合想先试试水的)
最简单的方法就是直接访问官方的Demo地址 https://webvm.io/。打开之后等个几秒钟,你就能看到一个完整的终端界面。这时候你已经是在一个Debian系统里面了,可以随便输命令试试。
比如你可以跑:
python3 examples/python3/fibonacci.py
或者编译个C程序:
gcc -o helloworld examples/c/helloworld.c && ./helloworld
如果你想试试图形界面,可以去 https://webvm.io/alpine.html,这里跑的是Alpine Linux+i3桌面环境。第一次启动可能要等一会儿,因为需要下载一些资源,但之后就能在浏览器里体验完整的Linux桌面了。
第二种,自己部署一个(适合想深度定制的)
如果你想要一个自己定制的版本,比如在WebVM里预装一些自己的工具,或者想用自己的域名访问,那可以fork项目在GitHub Pages上部署。
步骤其实也不复杂:
- 先去GitHub上fork这个项目(地址我放在文章最后了)
- 进到你fork后的仓库,点Settings -> Pages,把Source改成GitHub Actions
- 然后去Actions标签页,找到Deploy那个workflow,点一下"Run workflow"
- 等个几分钟,系统会自动构建并部署,完了之后你会得到一个类似
https://你的用户名.github.io/webvm/的链接
如果你想本地跑,也可以clone下来之后用npm构建:
git clone https://github.com/leaningtech/webvmcd webvmnpm installnpm run build
然后用nginx指到build目录就能访问了。默认跑在8081端口,打开浏览器访问http://127.0.0.1:8081就能看到效果。
一些小技巧和注意事项
用WebVM的时候有几个点需要注意。首先是网络功能需要手动开启——点左侧边栏的Networking,然后连接Tailscale。如果没有Tailscale账号需要先注册一个,免费版就够用了。
另外就是文件系统的问题。WebVM用的是虚拟的ext2镜像,你的改动默认会保存在浏览器的IndexedDB里,所以不用担心刷新页面数据就丢了。但是如果你清除了浏览器数据,那修改的内容也会跟着没掉,重要的东西记得及时备份。
还有个小发现,WebVM现在居然还支持集成Claude AI。你可以在环境里配置API key,然后就能在终端里直接调用Claude帮你写代码或者分析日志,这对于开发者来说简直是神器。
适合什么场景?
说实话,WebVM并不是要替代你的本地虚拟机或者服务器。它最适合的是那些"临时用一下"的场景。比如:
而且因为它是纯浏览器端的,手机和平板也能跑,虽然屏幕小了点,但应急用用完全没问题。
WebVM终端界面这个项目是由Leaning Technologies开发的,基于Apache 2.0协议开源。目前社区还挺活跃,GitHub上经常能看到新的提交。如果你对这种"浏览器即操作系统"的概念感兴趣,或者就是单纯想找个方便的Linux测试环境,真的建议你去试试看。
项目地址:
https://github.com/leaningtech/webvm
(注:虽然项目里用到了CheerpX这个商业引擎,但个人使用和技术探索是完全免费的。如果你是公司或者学校想大规模部署,可能需要联系他们拿个商业授权。)