> ## Documentation Index
> Fetch the complete documentation index at: https://support.labex.io/llms.txt
> Use this file to discover all available pages before exploring further.

# LabEx 应用中的虚拟机和终端

> 启动和停止实验室 VM，在 iPhone 和 Mac 上使用终端和转发端口，并了解何时适用定价或限制。

许多实验室需要一个 **Linux 环境**。该应用程序将一个 **虚拟机 (VM)** 附加到当前实验室，以便您可以在真实的终端中运行命令。

VM 是一个 **辅助工具**：阅读步骤和与 Labby 聊天保留在主要的学习布局中。当实验室需要动手操作时，终端就在那里。

有关浏览器中 LabEx VM 的背景信息，请参阅 [虚拟机](/en/using-labex/virtual-machine)。本页重点介绍 **应用程序控件**。

下面 **iPhone** 相关小节使用 iPhone 截图。**Mac** 一节附有 **macOS** 截图，展示带嵌入式终端与助手侧栏的学习工作区。

## 当 VM 启动时

* 当您需要终端时，使用学习 UI 中的 **VM** 条目。
* 在 **第一步** 中，**主要的继续按钮** 也可能启动 VM，**如果** 实验室仍然需要一个环境，并且您还没有该实验室的可用的会话。

如果实验室 **不允许** 在您当前的计划上启动 VM，则该应用程序会打开 **定价** 而不是启动硬件。

## iPhone：VM 表单

在 **iPhone** 上，VM 作为您在中间和高高度之间拖动的 **表单** 打开。

* **空闲**\
  您会看到一个简短的说明和 **启动 VM**。

<img src="https://mintcdn.com/huhuhang/25nKqG9Xc_zEKLCv/images/labex-app-ios-vm-start-sheet.png?fit=max&auto=format&n=25nKqG9Xc_zEKLCv&q=85&s=7ccfca5fd22944bdca2cab72134ecc90" alt="LabEx on iPhone: VM sheet before start, with the desktop preview" width="460" height="1000" data-path="images/labex-app-ios-vm-start-sheet.png" />

* **运行中**\
  您会获得快速操作（例如 **粘贴** 和 **清除终端**）以及 **接口**、**停止**、**返回终端** 和 **暴露端口** 的设置区域。

当环境正在准备时，该表单会显示 **设置进度** 和剩余会话时间。

<img src="https://mintcdn.com/huhuhang/25nKqG9Xc_zEKLCv/images/labex-app-ios-vm-setup-progress.png?fit=max&auto=format&n=25nKqG9Xc_zEKLCv&q=85&s=49162b6806c0029403822972e02b5c16" alt="LabEx on iPhone: VM sheet showing setup progress" width="460" height="1000" data-path="images/labex-app-ios-vm-setup-progress.png" />

**更多** 菜单可以访问 **接口**（切换 tty 会话）和 **停止 VM**，而机器正在运行。

<img src="https://mintcdn.com/huhuhang/25nKqG9Xc_zEKLCv/images/labex-app-ios-vm-settings-menu.png?fit=max&auto=format&n=25nKqG9Xc_zEKLCv&q=85&s=03c15f143771ac0612ffeeda13dcdf0b" alt="LabEx on iPhone: VM sheet menu with Interfaces and Stop VM" width="460" height="1000" data-path="images/labex-app-ios-vm-settings-menu.png" />

**清除终端** 在会话中运行 `clear` 命令；它不会擦除您的设备剪贴板。

## Mac：工作区和侧边栏

在 **Mac** 上，终端位于 **学习工作区** 中，而不是作为唯一的全屏表单。

当 VM 运行时，侧边栏中的 **学习** 会在一个平面列表中列出 **终端** 和 **暴露端口**。使用 **学习** 旁边的 **+** 菜单来 **添加终端** 或 **添加暴露端口**（您在小表单中键入端口号）。

选择一行以切换嵌入式浏览器显示的内容。**返回终端** 跳回您的 tty 会话。

<img src="https://mintcdn.com/huhuhang/PMseQv1n5XTf81ND/images/labex-app-macos-vm-workspace.png?fit=max&auto=format&n=PMseQv1n5XTf81ND&q=85&s=3498071f6e4de05045d7eefbb4aefe3f" alt="LabEx on macOS: embedded terminal in the workspace with assistant and verification panel" width="1200" height="847" data-path="images/labex-app-macos-vm-workspace.png" />

## 多个终端和端口

实验室可以使用多个终端。该应用程序为 Web 终端分配 **保留的高端口**，并且可以 **转发您选择的额外端口**。

* 您可以 **添加** 另一个终端，直到达到限制。
* 您可以 **关闭** 您不再需要的终端，除了 **最后一个**，它必须保持打开状态。

一次只显示 **一个终端 Web 视图**；切换行会交换活动的 URL。

## 会话时间和延长（Pro）

VM 在预定的时间后过期。该应用程序显示 **剩余时间**，并可能在时间不足时提示您。

* **LabEx Pro** 用户可能会看到一个选项，可以在应用程序进入到期前的短最终窗口时 **延长** 会话。
* **免费** 用户会看到指向 **定价** 的指导。

在您延长或会话结束后，请相信 **屏幕上的计时器** 和应用程序显示的任何警报。

## 停止和冲突

**停止 VM** 结束远程会话并清除本地终端状态。

如果 VM 已经在为 **另一个实验室** 运行，则启动一个新的可能会 **冲突**。该应用程序解释了这种情况，并让您 **保留旧的实验室** 或 **用新的实验室替换** 它。如果您替换，则首先删除旧的 VM。

如果您达到了 **临时的 VM 配额** 限制，该应用程序会打开 **定价**，以便您可以查看 Pro 选项。

## 粘贴和快捷方式

工具栏操作可以 **粘贴** 到终端中并发送常用键。一些粘贴助手对 **路径** 的处理方式不同（例如，它们可能会发送 Enter 以便运行命令）。从工具栏纯粘贴 **不会** 自动发送 Enter。

## 如果看起来不对劲

* **切换实验室** 会清除旧的终端 URL，因此您永远不会错误地附加到错误的实验室。
* **停止**、**错误** 或 **过期** 将 VM UI 重置为空闲状态，直到您再次启动。
