当前位置: 首页 > java >正文

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

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

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

创建虚拟机

安装 OrbStack

确保已安装最新版 OrbStack:

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

    brew install orbstack
    
  • 安装完成后,启动 OrbStack 服务。

创建 Ubuntu 虚拟机

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

# 创建默认 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分钟

参考

  • OrbStack 文档
  • OrbStack 发行说明
  • GitHub 讨论

启动并进入虚拟机

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

# 启动虚拟机(若未启动)
orb start ubdesk# 进入 bash(默认用户名为 macOS 当前用户名)
orb -m ubdesk bash# 若设置了默认虚拟机,可直接进入:
# orb config set machine.default ubdesk
orb

参考: OrbStack 虚拟机管理文档

设置登录用户密码

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

sudo passwd $USER

按提示输入并确认密码。


虚拟机管理

删除虚拟机

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

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

列出所有虚拟机

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

orb list

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

停止虚拟机

停止运行中的虚拟机:

orb stop ubdesk

克隆虚拟机

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

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

移动或导出虚拟机

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

  1. 导出虚拟机

    orb export ubdesk -o ubdesk.orb
    
    • 这会将虚拟机 ubdesk 导出为 ubdesk.orb 文件。
    • 导出的文件包含虚拟机的完整镜像和配置。
  2. 导入虚拟机
    在目标系统上使用 OrbStack 导入:

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

重命名虚拟机

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

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

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

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

    orb delete ubdesk
    

设置默认虚拟机

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

orb config set machine.default ubdesk

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

参考: OrbStack 虚拟机管理文档


配置开机自启

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

# 启用开机自启
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 服务器:

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,服务当前目录文件。

验证服务运行:

netstat -tlnp | grep 8000

确保输出显示 0.0.0.0:8000

确认网络访问

  1. 获取 Mac IP 地址

    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:

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

启用并启动 xrdp 服务:

sudo systemctl enable xrdp
sudo systemctl start xrdp

验证服务状态:

sudo systemctl status xrdp

配置 xrdp 使用 XFCE

设置用户默认桌面为 XFCE:

echo "startxfce4" > ~/.xsession
chmod +x ~/.xsession

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

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,先卸载:

sudo snap remove firefox

添加 Mozilla 官方 APT 仓库

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

# 创建密钥环文件夹
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:

sudo apt update
sudo apt install firefox

总结

通过以上步骤,您可以:

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

如需更多信息,请参考:

  • OrbStack 官方文档
  • OrbStack 官网
  • Mozilla APT 仓库
http://www.xdnf.cn/news/17118.html

相关文章:

  • 机器学习05——正则化与逻辑回归
  • 数据结构:反转链表(reverse the linked list)
  • 华为OD机考2025C卷 - 开源项目热度榜单 (Java Python JS C++ C )
  • Android Espresso 测试框架深度解析:从入门到精通
  • 如何设计和实施高效的向量化数据检索解决方案
  • python基础:数据解析BeatuifulSoup,不需要考虑前端形式的一种获取元素的方法
  • 量子计算接口开发:Python vs Rust 性能对决
  • 我用一个 Postgres 实现一整套后端架构!
  • 分布式版本控制工具Git
  • javacc学习笔记 01、JavaCC本地安装与测试
  • HCIP笔记1
  • Mac中M系列芯片采用rbenv管理ruby版本
  • pytorch 学习笔记3-利用框架内网络训练糖尿病数据集
  • 深入剖析通用目标跟踪:一项综述
  • 抽像代数概念理解——陪集(coset)
  • 0.08B参数以小博大:用小模型生成媲美GPT-4o的古典诗词
  • 嵌入式学习之51单片机——串口(UART)
  • Webpack 搭建 Vue3 脚手架详细步骤
  • Unix 命令行shell基础--学习系列003
  • 跳板机实现 SSHFS 挂载
  • Tomcat虚拟主机配置详解和多实例部署
  • C + +
  • 交叉验证:原理、作用与在机器学习流程中的位置
  • SpringBoot3.x入门到精通系列:3.2 整合 RabbitMQ 详解
  • Ubuntu系统VScode实现opencv(c++)图像一维直方图
  • Ubuntu系统VScode实现opencv(c++)图像二维直方图
  • 补:《每日AI-人工智能-编程日报》--2025年7月28日
  • 软件设计 VS 软件需求:了解成功软件开发外包的关键差异
  • git操作命令和golang编译脚本
  • 补:《每日AI-人工智能-编程日报》--2025年7月27日