研究openclaw部署时发现这个 Apple Silicon 系列芯片轻量级的虚拟机,可以虚拟单独的macOS环境来跑openclaw做测试;
只支持 Apple Silicon 系列芯片(M1/M2/M3/M4)的 Mac 设备上,想要轻量、高效地创建和管理 macOS/Linux 虚拟机,Lume 是绝佳选择。
这款开源工具基于 macOS 官方的 Virtualization.framework 开发,以接近原生的性能、简洁的命令行操作和灵活的配置能力,无需依赖 VMware、VirtualBox 等重型虚拟化平台,即可快速实现虚拟机的部署与管理。
Github: github.com/trycua/cua
官方文档:cua.ai/docs/lume/g…
硬件与系统要求
Lume 为 Apple Silicon 专属工具,不支持 Intel 芯片的 Mac,也无法在 Linux/Windows 平台运行,具体要求如下:
- 处理器:Apple Silicon 芯片(M1/M2/M3/M4 及衍生版本)
- 系统:macOS 13.0 或更高版本
- 内存:至少 8GB 内存(推荐 16GB 及以上,保证虚拟机与主机流畅运行)
- 磁盘:至少 30GB 空闲空间(虚拟机镜像及运行文件会占用额外空间,建议预留 50GB+)
安装方式
Lume 提供一键脚本安装、Homebrew 安装和手动安装三种方式,其中一键脚本安装为官方推荐,Homebrew 安装更适合习惯包管理器的用户,可根据需求选择。
方式1:官方一键脚本安装(推荐)
该方式会自动安装 Lume 核心程序,并默认配置后台服务(开机自启)和自动更新(每 24 小时检查更新),操作如下:
- 打开 Mac 终端,执行以下一键安装命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/lume/scripts/install.sh)"
- 若为首次安装,需配置
~/.local/bin到 PATH(执行后重启终端或重新加载配置):
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.zshrc
source ~/.zshrc
- 验证安装成功:执行
lume --version,若输出版本号(如 Lume 0.2.27)则表示安装完成;执行lume --help可查看所有命令说明。
自定义安装选项
若不需要后台服务或自动更新,可在安装命令后添加参数,核心选项如下:
| 安装选项 | 完整命令 |
|---|---|
| 关闭后台服务 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/lume/scripts/install.sh)" -- --no-background-service |
| 关闭自动更新 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/lume/scripts/install.sh)" -- --no-auto-updater |
| 同时关闭两者 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/lume/scripts/install.sh)" -- --no-background-service --no-auto-updater |
方式2:Homebrew 安装
适合已安装 Homebrew 的用户,步骤更简洁,执行以下两条命令即可:
brew tap trycua/lume
brew install lume
安装完成后同样通过 lume --version 验证。
方式3:手动安装
适合需要离线安装或自定义安装路径的用户:
- 前往 Lume GitHub Releases 下载最新的
lume.pkg.tar.gz包; - 终端进入下载目录,解压文件:
tar -xvzf lume.pkg.tar.gz
- 运行解压后的安装脚本:
./install.sh
核心使用教程
Lume 以命令行为核心操作方式,所有虚拟机的创建、启动、配置均通过终端命令完成,核心操作围绕macOS 虚拟机和Linux 虚拟机展开,同时支持自定义资源、存储位置等配置。
1. 快速创建并运行 macOS 虚拟机
创建 macOS 虚拟机需要先获取 macOS 恢复镜像(IPSW 文件,约 15GB),Lume 提供手动下载和自动下载两种方式,手动下载支持断点续传,适合网络较慢的场景,推荐优先使用。
方式1:手动下载 IPSW 镜像(推荐)
- 获取最新 IPSW 下载链接:
lume ipsw
终端会输出苹果官方的镜像下载地址;
- 下载镜像到本地(示例保存到 Downloads 文件夹):
curl -L -o ~/Downloads/macos.ipsw "$(lume ipsw)"
- 通过本地镜像创建虚拟机(命名为 my-macos-vm,可自定义):
lume create my-macos-vm --os macos --ipsw ~/Downloads/macos.ipsw
方式2:Lume 自动下载镜像
直接执行创建命令,Lume 会自动下载最新 IPSW 镜像并创建虚拟机,适合网络流畅的场景:
lume create my-macos-vm --os macos --ipsw latest
启动 macOS 虚拟机
创建完成后,执行以下命令启动,会自动打开 VNC 窗口,首次启动需完成 macOS 初始化设置:
lume run my-macos-vm
2. 创建并运行 Linux 虚拟机
Lume 支持基于 ARM64 架构的 Linux 镜像(不支持 x86),Ubuntu、Debian、Fedora 均提供官方 ARM64 镜像,以 Ubuntu 为例讲解步骤:
- 先创建空的 Linux 虚拟机(命名为 my-ubuntu-vm):
lume create my-ubuntu-vm --os linux
- 下载 Ubuntu ARM64 安装镜像(ISO 文件,如 ubuntu-24.04-live-server-arm64.iso);
- 首次启动并挂载安装镜像,进入 Linux 安装流程:
lume run my-ubuntu-vm --mount ~/Downloads/ubuntu-24.04-live-server-arm64.iso
- 安装完成后,直接启动即可正常使用:
lume run my-ubuntu-vm
3. 虚拟机自定义配置
Lume 默认创建的虚拟机为 4 核 CPU、8GB 内存、50GB 磁盘,可在创建时通过参数自定义资源,也可在创建后修改配置,满足不同业务需求。
创建时自定义资源
以创建 8 核 CPU、16GB 内存、100GB 磁盘的 macOS 虚拟机为例:
lume create dev-vm --os macos --ipsw latest \
--cpu 8 \
--memory 16GB \
--disk-size 100GB
注意:CPU 核心数不能超过主机的核心数,内存需为主机预留足够空间,避免卡顿。
修改虚拟机显示分辨率
默认分辨率为 1024x768,可通过 lume set 命令修改,修改后下次启动生效:
# 修改为 1920x1080(全高清)
lume set my-macos-vm --display 1920x1080
常用分辨率:1280x800(MacBook 风格)、2560x1440(2K),启动后需在虚拟机系统的「显示设置」中启用「显示所有分辨率」并选择对应分辨率。
配置自定义存储位置
默认情况下,虚拟机文件存储在 ~/.lume 目录,可配置外部 SSD 或自定义路径,节省主机内部存储并提升 I/O 性能:
- 添加外部存储位置(命名为 external,路径为外部硬盘的 lume 目录):
lume config storage add external /Volumes/MySSD/lume
- 将该位置设为默认存储:
lume config storage default external
- 查看所有配置的存储位置:
lume config storage list
- 创建虚拟机时指定存储位置:
lume create my-vm --os macos --ipsw latest --storage external
4. 虚拟机自动化初始化
创建 macOS 虚拟机时,可通过 --unattended 标志跳过手动初始化,实现自动化配置,默认创建用户 lume(密码 lume)并启用 SSH,适合批量部署:
lume create my-vm --os macos --ipsw latest --unattended tahoe
该过程约 10-15 分钟,无需人工干预,完成后可直接通过 SSH 连接虚拟机。
5. 虚拟机常用命令
Lume 提供简洁的命令实现虚拟机的启停、查看、克隆、删除等操作,核心命令如下(替换 <vm-name> 为虚拟机名称):
# 列出所有已创建的虚拟机(含运行状态、连接信息)
lume ls
# 查看某个虚拟机的详细配置(CPU、内存、存储、分辨率等)
lume get <vm-name>
# 停止运行中的虚拟机
lume stop <vm-name>
# 克隆虚拟机(创建备份,<new-vm-name> 为新虚拟机名称)
lume clone <vm-name> <new-vm-name>
# 删除虚拟机(如需强制删除无需确认,添加 --force 参数)
lume delete <vm-name>
# 后台运行虚拟机(无 VNC 窗口,适合自动化/CI/CD 场景)
lume run <vm-name> --no-display
# 后台运行并脱离终端(不阻塞终端操作)
lume run <vm-name> > /dev/null 2>&1 &
6. 主机与虚拟机文件共享
Lume 支持将主机目录挂载到虚拟机中,实现文件双向共享,启动虚拟机时添加 --shared-dir 参数即可:
# 将主机的 ~/Projects 目录挂载到虚拟机
lume run <vm-name> --shared-dir ~/Projects
在虚拟机中,挂载的目录会出现在 /Volumes/My Shared Files 下,可直接读写文件,无需额外配置 SSH 或其他传输工具。
Lume 高级功能
1. 预构建镜像拉取
# 拉取 macOS Sequoia 纯镜像
lume pull macos-sequoia-vanilla:latest
拉取完成后可直接基于镜像创建虚拟机,无需再下载 IPSW/ISO 文件。
2. API 服务启动与使用
Lume 内置本地 API 服务器,可通过 HTTP 请求管理虚拟机,适合自动化运维、CI/CD 集成或远程管理,步骤如下:
- 启动 API 服务(指定端口 3000,默认端口可自定义):
lume serve --port 3000
- 通过 curl 调用 API 管理虚拟机(默认地址
http://localhost:3000/lume):
# 获取所有虚拟机列表
curl -X GET http://localhost:3000/lume/vms
# 启动指定虚拟机
curl -X POST http://localhost:3000/lume/vms/start -d '{"name": "my-macos-vm"}'
3. 后台服务与自动更新管理
默认安装的 Lume 包含后台服务(lume_daemon)和自动更新服务(lume_updater),可通过以下命令管理,若安装时关闭了相关服务,可手动启动。
后台服务管理
# 检查后台服务是否运行
launchctl list | grep com.trycua.lume_daemon
# 查看后台服务日志
tail -f /tmp/lume_daemon.log
# 手动启动后台服务(安装时关闭的情况)
lume serve
自动更新管理
# 检查自动更新服务是否运行
launchctl list | grep com.trycua.lume_updater
# 查看自动更新日志
tail -f /tmp/lume_updater.log
# 手动检查更新
~/.local/bin/lume-update
# 安装后关闭自动更新(永久禁用)
launchctl unload ~/Library/LaunchAgents/com.trycua.lume_updater.plist
rm ~/Library/LaunchAgents/com.trycua.lume_updater.plist
卸载与清理
若需彻底卸载 Lume,需删除核心程序、后台服务、配置文件及虚拟机文件,执行以下命令即可(可选步骤可根据需求跳过):
# 停止并删除后台服务
launchctl unload ~/Library/LaunchAgents/com.trycua.lume_daemon.plist 2>/dev/null
rm -f ~/Library/LaunchAgents/com.trycua.lume_daemon.plist
# 停止并删除自动更新服务
launchctl unload ~/Library/LaunchAgents/com.trycua.lume_updater.plist 2>/dev/null
rm -f ~/Library/LaunchAgents/com.trycua.lume_updater.plist
rm -f ~/.local/bin/lume-update
# 可选:删除缓存的镜像文件
lume prune
# 删除 Lume 核心程序
rm -f $(which lume)
# 可选:删除所有虚拟机和配置文件(谨慎执行,不可恢复)
rm -rf ~/.lume
rm -rf ~/.config/lume
常见问题与解决
1. 终端提示 lume: command not found
原因:~/.local/bin 未在系统 PATH 中,或安装后未重新加载配置;
解决:执行以下命令配置并重新加载,或重启终端:
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.zshrc
source ~/.zshrc
2. 后台服务无法启动
解决:查看后台服务日志,定位具体错误原因:
tail -50 /tmp/lume_daemon.log
3. 安装/运行时出现权限错误
原因:Lume 无法在 ~/.local/bin 或 ~/Library/LaunchAgents 目录创建文件;
解决:检查目录的读写权限,确保当前用户为目录所有者,可通过 chmod 命令赋予权限(如 chmod 755 ~/.local/bin)。
4. 启动虚拟机时提示文件被锁定
原因:虚拟机异常退出(如强制关机、崩溃),导致锁定文件未释放;
解决:进入虚拟机存储目录,删除后缀为 .lck 的锁定文件,重新启动即可。
5. Linux 虚拟机启动失败
检查点:确保下载的是 ARM64 架构的 Linux ISO 镜像,Lume 不支持 x86 架构的 Linux 镜像,需前往官方网站下载对应 ARM64 版本。
Lume 优势与适用场景
1. 核心优势
- 轻量高效:基于 macOS 官方 Virtualization.framework,无需额外安装 Hypervisor/QEMU,占用资源少,性能接近原生;
- 操作简洁:纯命令行操作,命令语义清晰,无需复杂的图形界面配置,适合开发者和运维人员;
- 灵活配置:支持自定义 CPU、内存、磁盘、分辨率、存储位置,满足不同场景的资源需求;
- 自动化友好:提供 API 服务和自动化初始化,可轻松集成到 CI/CD 流程,实现虚拟机批量部署和管理;
- 原生兼容:专为 Apple Silicon 优化,相比 VMware(不支持 Apple Silicon)、Docker(偏容器化),更适合需要完整操作系统的场景。
2. 适用场景
- 本地开发测试:在 Mac 上运行 Linux 虚拟机进行 Web 开发、服务测试,或在 macOS 虚拟机中测试新系统特性、Xcode 环境;
- 自动化部署:通过 API 控制虚拟机,实现开发、测试、生产环境的自动化构建和部署;
- 安全环境隔离:在虚拟机中运行高风险应用、测试未知程序,避免影响主机系统;
- 多环境并行:创建多个不同版本的 macOS/Linux 虚拟机,实现多环境同时运行,互不干扰。
总结
Lume 作为 Apple Silicon 专属的轻量级虚拟机管理工具,以安装简单、操作便捷、性能高效为核心优势,完美解决了 Mac 上轻量化管理 macOS/Linux 虚拟机的需求。相比传统虚拟化工具,它更贴合开发者的命令行使用习惯,同时支持自动化和 API 集成,适合个人开发、团队协作和自动化运维等场景。
目前 Lume 暂不支持 Windows 虚拟机(受限于 macOS 官方 API),也暂无图形界面,但凭借其简洁的设计和强大的核心功能,已成为 Apple Silicon Mac 用户的首选虚拟机工具。后续 Lume 还计划支持 Windows 虚拟机、增加 GUI 版本和快照管理,值得持续关注。