【Mac】OrbStack:桌面端虚拟机配置与使用

OrbStack 是一款轻量、高效的虚拟化工具,专为 macOS 设计,旨在简化 Linux 虚拟机的创建、管理和使用。相比传统虚拟化解决方案(如 VirtualBox 或 VMware),OrbStack 提供无缝的 macOS 集成、快速的启动速度以及简化的网络配置,非常适合开发者、测试人员和需要轻量 Linux 环境的个人用户。本教程将详细指导您通过 OrbStack 创建 Ubuntu 虚拟机,配置网络服务、远程桌面、安装 .deb 版本的 Firefox,以及管理虚拟机(包括删除、克隆和存储迁移)。无论您是初学者还是有经验的用户,本教程将帮助您快速上手 OrbStack,高效利用虚拟化技术。

注意 :本教程基于 2025 年 8 月 4 日的信息,OrbStack 功能可能随版本更新而变化,建议参考 OrbStack 官方文档 获取最新信息。

创建虚拟机

安装 OrbStack

确保已安装最新版 OrbStack:

  • 通过官网下载或使用 Homebrew 安装:

    bash 复制代码
    brew install orbstack
  • 安装完成后,启动 OrbStack 服务。

创建 Ubuntu 虚拟机

在终端中运行以下命令创建虚拟机:

bash 复制代码
# 创建默认 ARM64 Ubuntu 24.04 LTS 虚拟机
orb create ubuntu:24.04 ubdesk

# 若需运行 x86 (AMD64) 程序(Apple Silicon 用户),创建 Intel 架构虚拟机:
orb create --arch amd64 ubuntu ubdesk
  • 命令将从 OrbStack 官方仓库拉取 Ubuntu 镜像,创建名为 ubdesk 的虚拟机。
  • 创建过程约需 30秒到1分钟。

参考:

启动并进入虚拟机

启动虚拟机并进入控制台:

bash 复制代码
# 启动虚拟机(若未启动)
orb start ubdesk

# 进入 bash(默认用户名为 macOS 当前用户名)
orb -m ubdesk bash

# 若设置了默认虚拟机,可直接进入:
# orb config set machine.default ubdesk
orb

参考 : OrbStack 虚拟机管理文档

设置登录用户密码

OrbStack 默认使用 macOS 用户名创建虚拟机用户,但可能未设置密码,导致远程连接失败。设置密码:

bash 复制代码
sudo passwd $USER

按提示输入并确认密码。


虚拟机管理

删除虚拟机

要删除不再需要的虚拟机,请使用以下命令:

bash 复制代码
# 删除指定虚拟机(例如 ubdesk)
orb delete ubdesk
  • 注意:删除操作不可逆,虚拟机中的所有数据将被永久移除,请确保备份重要文件。

列出所有虚拟机

查看当前所有虚拟机的状态和信息:

bash 复制代码
orb list

输出将显示虚拟机名称、状态(运行/停止)、架构(ARM64/AMD64)等信息。

停止虚拟机

停止运行中的虚拟机:

bash 复制代码
orb stop ubdesk

克隆虚拟机

克隆现有虚拟机以创建其完整副本:

bash 复制代码
orb clone ubdesk ubdesk-clone
  • 命令将创建名为 ubdesk-clone 的新虚拟机,复制 ubdesk 的所有配置和数据。
  • 注意:克隆会占用额外的磁盘空间,确保有足够空间。

移动或导出虚拟机

OrbStack 不直接支持虚拟机的"移动"操作,但可以通过导出和导入实现类似功能:

  1. 导出虚拟机:

    bash 复制代码
    orb export ubdesk -o ubdesk.orb
    • 这会将虚拟机 ubdesk 导出为 ubdesk.orb 文件。
    • 导出的文件包含虚拟机的完整镜像和配置。
  2. 导入虚拟机 :

    在目标系统上使用 OrbStack 导入:

    bash 复制代码
    orb import ubdesk.orb
  • 注意:导出和导入需要足够的磁盘空间,导出文件可能较大(取决于虚拟机内容)。

重命名虚拟机

OrbStack 当前不支持直接重命名虚拟机。如需更改名称,可通过以下步骤实现:

  1. 克隆虚拟机: 使用orb clone命令创建原虚拟机的副本,并指定新名称:

    bash 复制代码
    orb clone ubdesk new-ubdesk
    • 这会创建名为 new-ubdesk 的新虚拟机,复制 ubdesk 的所有配置和数据。
  2. 验证新虚拟机: 启动并检查新虚拟机是否正常

    bash 复制代码
    orb start new-ubdesk
    orb -m new-ubdesk bash
  3. 删除原虚拟机(可选): 如果确认新虚拟机正常运行,且不再需要原虚拟机,可删除它以释放空间

    bash 复制代码
    orb delete ubdesk

设置默认虚拟机

将某虚拟机设置为默认,简化进入命令:

bash 复制代码
orb config set machine.default ubdesk

之后,直接运行 orb 即可进入默认虚拟机的 bash。

参考 : OrbStack 虚拟机管理文档


配置开机自启

设置 OrbStack 在登录时自动启动,并运行未手动关闭的虚拟机:

bash 复制代码
# 启用开机自启
orb config set app.start_at_login true

# 禁用开机自启(可选)
orb config set app.start_at_login false

配置网络与端口映射

OrbStack 网络模型

OrbStack 简化了虚拟机网络访问:

  • 本地访问 :虚拟机服务通过 Mac 的 localhost:port 访问(如 localhost:8000)。
  • 局域网访问 :服务监听 0.0.0.0 或 :: 时,通过 Mac 的 IP 地址对局域网设备可见。
  • 无需显式端口映射 :OrbStack 不使用类似 Docker 的 -p 标志或 VirtualBox 的端口转发,依赖服务配置和 Mac 网络栈。

运行 HTTP 服务器

在虚拟机中启动简单 HTTP 服务器:

bash 复制代码
python3 -c 'import http.server, socketserver; PORT = 8000; socketserver.TCPServer(("0.0.0.0", PORT), http.server.SimpleHTTPRequestHandler).serve_forever()'
  • 服务器监听 0.0.0.0:8000,服务当前目录文件。

验证服务运行:

bash 复制代码
netstat -tlnp | grep 8000

确保输出显示 0.0.0.0:8000。

确认网络访问

  1. 获取 Mac IP 地址:

    bash 复制代码
    ipconfig getifaddr en0

    假设返回 192.168.1.100。

  2. 局域网访问 :

    在局域网设备上访问 http://192.168.1.100:8000。

  3. 本地访问 :

    在 Mac 上访问 http://localhost:8000。


配置远程桌面

安装 XFCE 桌面环境

XFCE 支持直接通过 Mac 的 3389 端口进行远程连接。安装 XFCE 和 xrdp:

bash 复制代码
sudo apt update
sudo apt install -y xfce4 xfce4-goodies
sudo apt install -y xrdp
  • 安装需几百 MB 空间,确保网络通畅或已配置代理。

启用并启动 xrdp 服务:

bash 复制代码
sudo systemctl enable xrdp
sudo systemctl start xrdp

验证服务状态:

bash 复制代码
sudo systemctl status xrdp

配置 xrdp 使用 XFCE

设置用户默认桌面为 XFCE:

bash 复制代码
echo "startxfce4" > ~/.xsession
chmod +x ~/.xsession

为所有用户设置默认桌面(可选):

bash 复制代码
sudo sed -i.bak '/^test -x \/etc\/X11\/Xsession && exec \/etc\/X11\/Xsession$/s/^/#/' /etc/xrdp/startwm.sh
echo "startxfce4" | sudo tee -a /etc/xrdp/startwm.sh

使用远程桌面客户端连接

从 macOS 或 Windows 使用 RDP 客户端连接:

  • 主机名 :ubdesk.orb.local
  • 端口 :3389
  • 用户名:macOS 用户名(或新创建用户)
  • 密码:之前设置的密码

提示 :macOS 用户可使用 Microsoft Remote Desktop(Windows App)。


安装 .deb 版本的 Firefox

卸载 Snap 版本 Firefox

若已安装 Snap 版本 Firefox,先卸载:

bash 复制代码
sudo snap remove firefox

添加 Mozilla 官方 APT 仓库

添加 Mozilla 官方仓库以获取 .deb 版本 Firefox:

bash 复制代码
# 创建密钥环文件夹
sudo install -d -m 0755 /etc/apt/keyrings

# 下载并导入 Mozilla GPG 密钥
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null

# 添加 Mozilla APT 仓库
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee /etc/apt/sources.list.d/mozilla.list > /dev/null

安装 Firefox

更新包列表并安装 Firefox:

bash 复制代码
sudo apt update
sudo apt install firefox

总结

通过以上步骤,您可以:

  • 创建并管理 Ubuntu 虚拟机。
  • 配置开机自启和网络服务。
  • 安装 XFCE 桌面环境并通过 RDP 远程连接。
  • 安装 .deb 版本的 Firefox。

如需更多信息,请参考:

相关推荐
情 九25 分钟前
Dify 本地环境搭建教程:macOS / Windows
windows·macos
2501_915918411 天前
在 Xcode 中运行和调试单元测试的完整指南
ide·vscode·macos·ios·单元测试·个人开发·xcode
Lalolander1 天前
灵基Lingee怎么下载安装?Mac 与 Win 详细指南
大数据·人工智能·科技·macos·金蝶灵基
老李IT笔记1 天前
远程取设备日志:iOS、tvOS 和 macOS 三端的同意方式不一样
macos·ios
JasonSJX1 天前
DRM-X 5.0 PDF 保护更新:Windows 与 Mac 打印保留用户水印,ZJGet iOS 版支持 PDF 阅读
macos·pdf
HackTwoHub1 天前
免 Root 安卓渗透工具 Stryker|把 Kali 装进手机!随身无线渗透工作站,内置 Nmap/Nuclei/Metasploit 全套武器库
android·linux·运维·人工智能·web安全·macos·智能手机
又見山2 天前
Obsidian 跨平台同步实测:Nutstore Sync 在 Windows、Mac、Linux、iOS、Android 全平台综合测评
windows·macos·obsidian·obsidian同步·obsidian教程·obsidian入门·obsidian笔记库搭建
CocoaKier2 天前
如何安装旧版的MacOS系统?
macos·ios·mac
GeofferyLibrom2 天前
# Mac 平台 Chiaki-ng 配置指南: Base64 ID 获取
macos·base64·chiaki-ng·npsso·psnawp
GeofferyLibrom2 天前
PS5 自动化挂机指南:基于 Mac + Chiaki-ng 视觉识别——龙信2自动挂机实战
运维·macos·自动化