id: 892024d7d888421f8be998f520df1c0c
parent_id: 
item_type: 1
item_id: c0ef34f6ade14705b45153dd392ca305
item_updated_time: 1764345626430
title_diff: "[{\"diffs\":[[1,\"告别虚拟机，在浏览器中运行 Linux ！无需安装配置，打开网页就能用！超方便\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":39}]"
body_diff: "[{\"diffs\":[[1,\"<html>\\\r\\\n<head>\\\r\\\n  <title>告别虚拟机，在浏览器中运行 Linux ！无需安装配置，打开网页就能用！超方便</title>\\\r\\\n  <basefont face=\\\"微软雅黑\\\" size=\\\"2\\\" />\\\r\\\n  <meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html;charset=utf-8\\\" />\\\r\\\n  <meta name=\\\"exporter-version\\\" content=\\\"YXBJ Windows/608924 (zh-CN, DDL); Windows/10.0.0 (Win64); EDAMVersion=V2;\\\"/>\\\r\\\n  <meta name=\\\"content-class\\\" content=\\\"yinxiang.peso.superNote\\\"/>\\\r\\\n  <meta name=\\\"application-data:yinxiang.noteLayout\\\" content=\\\"{\\\"lineSpace\\\":\\\"recommend\\\",\\\"paragraphSpace\\\":\\\"recommend\\\"}\\\"/>\\\r\\\n  <style>\\\r\\\n\\tbody, td {\\\r\\\n\\t  font-family: 微软雅黑;\\\r\\\n\\t  font-size: 12pt;\\\r\\\n\\t}\\\r\\\n  </style>\\\r\\\n</head>\\\r\\\n<body>\\\r\\\n<a name=\\\"39451\\\"></a>\\\r\\\n<h1>告别虚拟机，在浏览器中运行 Linux ！无需安装配置，打开网页就能用！超方便</h1>\\\r\\\n\\\r\\\n<div><span style=\\\"\\\"><div style=\\\"max-width: 700px;\\\"><p></p><div style=\\\"--en-blockquote: true; box-sizing: border-box; border-left: 3px solid #b4c0cc; background-position: initial initial; background-repeat: initial initial;\\\"><div>原文链接: <a href=\\\"http://mp.weixin.qq.com/s?__biz=MzIyMDA5MzkxMA==&amp;mid=2247484220&amp;idx=1&amp;sn=43bc33a86626404796b59671bb419681&amp;chksm=960a4e8371b73e2c1345e4629ae04668373e46e722abd3bc5984012d832053a8502a5f05d2e3&amp;mpshare=1&amp;scene=1&amp;srcid=0407RIaYOXuAw9iARaxtTNpS&amp;sharer_shareinfo=ae255fba052a6c89d708cf352701382b&amp;sharer_shareinfo_first=ae255fba052a6c89d708cf352701382b#rd\\\"><span>http://mp.weixin.qq.com/s?__biz=MzIyMDA5MzkxMA==&amp;mid=2247484...</span></a></div></div><p></p><div style=\\\"\\\"><div><div><div><span style=\\\"\\\">原创</span><span><span style=\\\"\\\">陶渊小明</span></span><span><a style=\\\"\\\"> 陶渊小明 </a></span><span><em></em></span></div><div style=\\\"\\\"><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); color: rgb(10,10,10); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0; text-transform: none; widows: 2; word-spacing: 0; -webkit-text-stroke-width: 0; white-space: normal; background-color: rgb(255,255,255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;\\\"><span></span></p><div style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); color: rgb(10, 10, 10); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; text-align: left;\\\"><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><span style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; color: rgb(87, 107, 149);\\\"><span>webVM</span></span><span> 是一个完全运行在浏览器里的 Linux 虚拟机，不需要安装系统，也不需要配置环境。只需打开浏览器，就可以直接运行一个完整的 Linux 虚拟机。</span><span><br/></span><span><br/></span><span>它不是远程连接到某个 Linux 服务器，而是真正将 Linux 运行在本地浏览器中。webVM 基于 HTML5 和 WebAssembly，能够完美兼容 Linux ABI，直接运行未经修改的 Debian 发行版，并内置了多个常用的开发工具链，比如 Python、GCC、vim 等等。</span></p><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><span><img src=\\\":/c8b0c2ba54004521a5e0d0e8b8be2d73\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" alt=\\\"webVM 介绍\\\" style=\\\"--en-marks: %7B%22align%22%3A%22center%22%7D; box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); display: block; vertical-align: middle; max-width: 100%; height: auto; width: auto;\\\" width=\\\"auto\\\"/></span></p><hr style=\\\"box-sizing: border-box; border-width: 2px 0px 0px; border-style: solid; border-color: rgba(0, 0, 0, 0.1); height: 0.4em; color: inherit; text-align: left; transform-origin: 0px 0px; transform: scale(1, 0.5);\\\"/><h2 style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: center; display: table; color: rgb(255,255,255); background: rgb(15,76,129);\\\"><span>1. webVM 架构</span></h2><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><span>webVM 的核心架构由四个模块组成：</span></p><ol style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); list-style: none; text-align: left; color: rgb(63,63,63);\\\"><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>1. </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>CheerpX 虚拟引擎</span></strong><span><br/></span><span>一个基于 WebAssembly 的虚拟化引擎，也是 webVM 的核心。它包含一个 X86 到 WebAssembly 的 JIT 编译器，能够将 x86 指令集转换为 WebAssembly，使 Linux 代码可以在浏览器中运行。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div><span><br/></span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span><img src=\\\":/63d80771889547f6845e57475ec2a94d\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" alt=\\\"CheerpX\\\" style=\\\"--en-marks: %7B%22align%22%3A%22center%22%7D; box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); display: block; vertical-align: middle; max-width: 100%; height: auto; width: auto;\\\" width=\\\"auto\\\"/></span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>2. </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>虚拟存储后端</span></strong><span><br/></span><span>负责文件和数据管理，确保 webVM 在运行时能高效读写数据。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>3. </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>网络传输层</span></strong><span><br/></span><span>基于 Tailscale 的网络通信架构，提供稳定、安全的网络通信。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>4. </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>终端模拟器</span></strong><span><br/></span><span>由 HTML 和 xterm 组成，让用户可以直接在浏览器中使用完整的 Linux 终端，无论是编写代码还是执行 Linux 命令，都能获得流畅的体验。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div><span><br/></span></div></li></ol><span><img src=\\\":/691e06af2d794259a46619679c5bddfc\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" alt=\\\"webVM 架构\\\" style=\\\"--en-marks: %7B%22align%22%3A%22center%22%7D; box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); display: block; vertical-align: middle; max-width: 100%; height: auto; width: auto;\\\" width=\\\"auto\\\"/></span><hr style=\\\"box-sizing: border-box; border-width: 2px 0px 0px; border-style: solid; border-color: rgba(0, 0, 0, 0.1); height: 0.4em; color: inherit; text-align: left; transform-origin: 0px 0px; transform: scale(1, 0.5);\\\"/><h2 style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: center; display: table; color: rgb(255,255,255); background: rgb(15,76,129);\\\"><span>2. webVM 优点</span></h2><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><span>由于 webVM 完全部署在本地浏览器中，相比传统的 Linux 虚拟机部署方式，它具有以下优点：</span></p><ol style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); list-style: none; text-align: left; color: rgb(63,63,63);\\\"><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>1. </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>部署简单</span></strong><span><br/></span><span>不需要安装 VMware、VirtualBox 等虚拟机软件，直接使用浏览器即可完成部署。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>2. </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>即开即用</span></strong><span><br/></span><span>只需在浏览器中打开对应的网址，就可以开始使用 Linux。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>3. </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>跨平台</span></strong><span><br/></span><span>Linux 运行在浏览器中，无论是 MacOS、Linux 还是 Windows，只要电脑安装了浏览器，都可轻松部署；甚至移动端的 iOS 和安卓也能运行。</span></div></li></ol><hr style=\\\"box-sizing: border-box; border-width: 2px 0px 0px; border-style: solid; border-color: rgba(0, 0, 0, 0.1); height: 0.4em; color: inherit; text-align: left; transform-origin: 0px 0px; transform: scale(1, 0.5);\\\"/><h2 style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: center; display: table; color: rgb(255,255,255); background: rgb(15,76,129);\\\"><span>3. 部署 webVM</span></h2><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><span>webVM可以通过它的 GitHub 开源项目去</span><span style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; color: rgb(87, 107, 149);\\\"><span>在线体验</span></span><span>。项目中内置了 Python、GCC、Node.js 等开发工具，并在左侧展示系统状态信息，甚至支持使用 Claude AI 来操控 Linux。</span><span><br/></span><span><br/></span><span>那如何使用 webVM 部署一个 Linux 虚拟机呢？webVM 目前支持两种部署方式：</span></p><ul style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); list-style: circle; text-align: left; color: rgb(63,63,63);\\\"><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>GitHub Actions 部署</span></strong><span><br/></span><span>操作简单，适合希望快速上手、无需复杂配置的用户。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>本地部署</span></strong><span><br/></span><span>适用于需要更多系统权限或进行自定义配置的用户，但需要用户下载镜像文件、配置环境并启动服务器，对不熟悉服务器配置的用户来说门槛较高。</span></div></li></ul><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><span>这里我们采用 GitHub Actions 部署方式，整个流程在所有操作系统中都是相同的，真正实现了多平台兼容。</span></p><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>部署步骤：</span></strong></p><ul style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); list-style: circle; text-align: left; color: rgb(63,63,63);\\\"><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>Fork 项目：</span></strong><span><br/></span><span>首先 fork 项目到自己的代码仓库，点击 fork 后再点击 “Create fork”。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>设置 Pages：</span></strong><span><br/></span><span>fork 完成后，进入仓库设置，在左侧找到 Pages，选择 Source 为 GitHub Actions。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div><span><br/></span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span><img src=\\\":/03f10cd3ebf14f49a62bf88e025b601e\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" alt=\\\"GitHub Action\\\" style=\\\"--en-marks: %7B%22align%22%3A%22center%22%7D; box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); display: block; vertical-align: middle; max-width: 100%; height: auto; width: auto;\\\" width=\\\"auto\\\"/></span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>允许工作流：</span></strong><span><br/></span><span>点击上方的 Actions，允许执行工作流。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>启动部署：</span></strong><span><br/></span><span>点击左侧的 Deploy，再点击右侧的 Run workflow。这里 Dockerfile 和 image size 保持默认，点击执行 workflow。</span></div></li></ul><ul style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); list-style: circle; text-align: left; color: rgb(63,63,63);\\\"><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span><img src=\\\":/d8b4094d82e84b01a9e7cdf20e3cd55e\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" alt=\\\"开始部署\\\" style=\\\"--en-marks: %7B%22align%22%3A%22center%22%7D; box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); display: block; vertical-align: middle; max-width: 100%; height: auto; width: auto;\\\" width=\\\"auto\\\"/></span></div></li></ul><ul style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); list-style: circle; text-align: left; color: rgb(63,63,63);\\\"><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>等待部署完成：</span></strong><span><br/></span><span>等待几分钟后，打开 deploy 工作流，可以看到部署正在进行中。部署完成后，会生成一个 Linux 虚拟机的网址。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div><span><br/></span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span><img src=\\\":/9e3a128cd3eb425e90c0ed98d3adea2c\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" alt=\\\"完成部署\\\" style=\\\"--en-marks: %7B%22align%22%3A%22center%22%7D; box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); display: block; vertical-align: middle; max-width: 100%; height: auto; width: auto;\\\" width=\\\"auto\\\"/></span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>体验 Linux：</span></strong><span><br/></span><span>打开网址后，执行几条 Linux 命令来试一下。注意：第一次执行命令时可能比较慢，第二次执行同类命令速度就会快很多。这是因为 webVM 采用了按需加载机制，只有在需要使用某个资源时才加载，而不是在系统启动的时候，就一次性加载所有资源，从而大大缩短了加载时间，使系统运行更加流畅。</span><span><br/></span></div><div style=\\\"\\\"><span>    在这个examples文件夹里面，内置了一些不同语言的代码。我们来执行一下这个，Python 的斐波那契代码试试。执行成功了，由于webVM是按需加载的，所以第一次执行会比较慢。我们再来执行一次，可以发现第二次速度就快很多了。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>    然后再来执行一下，这个c语言的hello world，运行也没有问题。这样我们就可以，使用这个Linux虚拟机，来进行代码开发，或者学习一些，Linux的操作命令了。</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div><span><br/></span></div></li></ul><span><img src=\\\":/d03705312a8a409295e02889a0939321\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" alt=\\\"使用 webVM\\\" style=\\\"--en-marks: %7B%22align%22%3A%22center%22%7D; box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); display: block; vertical-align: middle; max-width: 100%; height: auto; width: auto;\\\" width=\\\"auto\\\"/></span><hr style=\\\"box-sizing: border-box; border-width: 2px 0px 0px; border-style: solid; border-color: rgba(0, 0, 0, 0.1); height: 0.4em; color: inherit; text-align: left; transform-origin: 0px 0px; transform: scale(1, 0.5);\\\"/><h2 style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: center; display: table; color: rgb(255,255,255); background: rgb(15,76,129);\\\"><span>4. webVM 添加文件 &amp; 预装应用程序</span></h2><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><span>除了直接使用 Linux，webVM 还支持给 Linux 添加文件和预装应用程序，方便用户进行个性化配置和开发环境搭建。</span></p><ul style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); list-style: circle; text-align: left; color: rgb(63,63,63);\\\"><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>添加文件：</span></strong><span><br/></span><span>点击 “Code” 打开 </span><code style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-feature-settings: normal; font-variation-settings: normal; text-align: left; color: rgb(221, 17, 68); background: rgba(27, 31, 35, 0.05); border-radius: 4px;\\\"><span>documents</span></code><span> 文件夹，其中存放了一些内置文件。如果需要添加新的文件，只需将文件放入该文件夹中。</span><span style=\\\"text-indent: -1em;\\\"><br/></span></div><div><span style=\\\"text-indent: -1em;\\\"><br/></span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span style=\\\"text-indent: -1em;\\\">    在 </span><code style=\\\"text-indent: -1em; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-feature-settings: normal; font-variation-settings: normal; color: rgb(221, 17, 68); background: rgba(27, 31, 35, 0.05); border-radius: 4px;\\\"><span>examples</span></code><span style=\\\"text-indent: -1em;\\\"> 文件夹中，存放着各类内置代码（如 Python、C、Node.js 等）。例如，在 </span><code style=\\\"text-indent: -1em; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-feature-settings: normal; font-variation-settings: normal; color: rgb(221, 17, 68); background: rgba(27, 31, 35, 0.05); border-radius: 4px;\\\"><span>Python</span></code><span style=\\\"text-indent: -1em;\\\"> 文件夹中添加一个 Python 文件：</span></div></li></ul><ul style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); list-style: circle; text-align: left; color: rgb(63,63,63);\\\"><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div><span><br/></span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span><img src=\\\":/4d2f3cd0eeaf404498d2890be4ebd5f1\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" alt=\\\"添加文件\\\" style=\\\"--en-marks: %7B%22align%22%3A%22center%22%7D; box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); display: block; vertical-align: middle; max-width: 100%; height: auto; width: auto;\\\" width=\\\"auto\\\"/></span></div></li><ul style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); list-style: circle; text-align: left; color: rgb(63,63,63);\\\"><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• 点击 “Add file”，选择 “创建新文件”；</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• 粘贴代码（示例为打印杨辉三角的 Python 代码），输入文件名后点击 “Commit” 就可以了。（也可以使用 Git 命令在本地进行操作）</span><span><br/></span><span><br/></span></div></li></ul><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• </span><strong style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: left; color: rgb(15, 76, 129);\\\"><span>预装应用程序：</span></strong><span><br/></span><span>点击 </span><code style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-feature-settings: normal; font-variation-settings: normal; text-align: left; color: rgb(221, 17, 68); background: rgba(27, 31, 35, 0.05); border-radius: 4px;\\\"><span>dockerfile</span></code><span> 文件夹，打开 Debian mini 文件。如果希望在 Linux 中预装应用程序，可以将相应命令添加到 </span><code style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-feature-settings: normal; font-variation-settings: normal; text-align: left; color: rgb(221, 17, 68); background: rgba(27, 31, 35, 0.05); border-radius: 4px;\\\"><span>apt install</span></code><span> 语句后面。例如，预装用于下载文件的 wget 工具：</span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div><span><br/></span></div></li><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span><img src=\\\":/e590b460380f4b698048337bb869152d\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" alt=\\\"安装 wget\\\" style=\\\"--en-marks: %7B%22align%22%3A%22center%22%7D; box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); display: block; vertical-align: middle; max-width: 100%; height: auto; width: auto;\\\" width=\\\"auto\\\"/></span></div></li><ul style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); list-style: circle; text-align: left; color: rgb(63,63,63);\\\"><li style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); text-align: left; text-indent: -1em; display: block; color: rgb(63, 63, 63);\\\"><div style=\\\"\\\"><span>• 编辑文件，在 </span><code style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-feature-settings: normal; font-variation-settings: normal; text-align: left; color: rgb(221, 17, 68); background: rgba(27, 31, 35, 0.05); border-radius: 4px;\\\"><span>apt install</span></code><span> 后添加 </span><code style=\\\"box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); font-feature-settings: normal; font-variation-settings: normal; text-align: left; color: rgb(221, 17, 68); background: rgba(27, 31, 35, 0.05); border-radius: 4px;\\\"><span>wget</span></code><span>，然后点击 “Commit”。</span></div></li></ul></ul><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><span>部署完成后，重新部署服务。注意：这次可以适当调大 image size，但最好不要超过 950M，因为 GitHub Pages 的部署文件大小限制为 1GB；如果需要更大的 Linux 系统，可选择本地部署的方式。</span><span><br/></span><span><br/></span><span>部署完成后，打开 Linux 虚拟机的网址，来验证下 wget 是否成功预装了，并测试添加的 Python 文件（杨辉三角）看能不能正常运行。</span></p><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><span><img src=\\\":/0b7c136511b342dc82cf69d2c566d55c\\\" type=\\\"image/png\\\" data-filename=\\\"640.png\\\" alt=\\\"验证效果\\\" style=\\\"--en-marks: %7B%22align%22%3A%22center%22%7D; box-sizing: border-box; border-width: 0px; border-style: solid; border-color: hsl(var(--border)); display: block; vertical-align: middle; max-width: 100%; height: auto; width: auto;\\\" width=\\\"auto\\\"/></span></p><hr style=\\\"box-sizing: border-box; border-width: 2px 0px 0px; border-style: solid; border-color: rgba(0, 0, 0, 0.1); height: 0.4em; color: inherit; text-align: left; transform-origin: 0px 0px; transform: scale(1, 0.5);\\\"/><h2 style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); font-weight: bold; text-align: center; display: table; color: rgb(255,255,255); background: rgb(15,76,129);\\\"><span>5. 总结</span></h2><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><span>通过上面的介绍，我们可以发现。webVM 非常适合用于 Linux 教学。它部署便捷、操作简单，而且不受操作系统限制，非常容易上手。</span></p><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); text-align: justify; letter-spacing: 0.1em; color: rgb(63,63,63);\\\"><span>除此之外，用户还可以根据教学需要为 Linux 添加各类代码、文档，并预装必要的应用程序，可以极大地提升开发和学习的效率。</span><span><br/></span><span><br/></span><span>欢迎关注我，持续分享使用的IT和AI技能！</span></p></div><p style=\\\"box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(var(--border)); color: rgb(10,10,10); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0; text-transform: none; widows: 2; word-spacing: 0; -webkit-text-stroke-width: 0; white-space: normal; background-color: rgb(255,255,255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;\\\"><span></span></p><h3 style=\\\"box-sizing: border-box; font-weight: bold; color: rgb(14,136,235); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0; text-transform: none; widows: 2; word-spacing: 0; -webkit-text-stroke-width: 0; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;\\\"><span style=\\\"box-sizing: border-box; color: rgb(14, 136, 235);\\\"><span>本文内链接</span></span></h3><div style=\\\"box-sizing: border-box; color: rgb(0, 0, 0); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;\\\"><div style=\\\"box-sizing: border-box; display: flex; text-align: left;\\\"><span style=\\\"box-sizing: border-box; display: inline; background: none; opacity: 0.6;\\\"><span><span style=\\\"letter-spacing: 0.5px;\\\">[1]</span></span></span><p style=\\\"box-sizing: border-box; color: black; letter-spacing: 0.2em; word-spacing: 0.1em; display: inline; word-break: break-all; text-align: left;\\\"><span><span style=\\\"letter-spacing: 0.5px; font-style: normal;\\\">webVM: </span></span><em style=\\\"box-sizing: border-box; font-style: italic; color: rgb(8, 42, 113); letter-spacing: 0.3em;\\\"><span><span style=\\\"letter-spacing: 0.5px; font-style: normal;\\\">https://github.com/leaningtech/webvm</span></span></em></p></div><div style=\\\"box-sizing: border-box; display: flex; text-align: left;\\\"><span style=\\\"box-sizing: border-box; display: inline; background: none; opacity: 0.6;\\\"><span><span style=\\\"letter-spacing: 0.5px;\\\">[2]</span></span></span><p style=\\\"box-sizing: border-box; color: black; letter-spacing: 0.2em; word-spacing: 0.1em; display: inline; word-break: break-all; text-align: left;\\\"><span><span style=\\\"letter-spacing: 0.5px; font-style: normal;\\\">在线体验: </span></span><em style=\\\"box-sizing: border-box; font-style: italic; color: rgb(8, 42, 113); letter-spacing: 0.3em;\\\"><span><span style=\\\"letter-spacing: 0.5px; font-style: normal;\\\">https://webvm.io/</span></span></em></p></div></div><div><span><br/></span></div></div></div></div></div></div></span>\\\n</div></body></html>\\u0000\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":32915}]"
metadata_diff: {"new":{"id":"c0ef34f6ade14705b45153dd392ca305","parent_id":"f67288c3a0be4374b5d532b5dcc3aabc","latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1764348841046,"markup_language":2,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","deleted_time":0},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2025-11-28T21:04:11.403Z
created_time: 2025-11-28T21:04:11.403Z
type_: 13