# 用 VNC 远程查看和操作实例屏幕

VNC 能在实例无法开机或网络不通时远程查看和操作屏幕；使用前必须了解 Ctrl+Alt+Del 在 Linux 上会直接重启系统，以及连接令牌的相关限制。

VNC 直接连接实例的虚拟屏幕，不经过操作系统的网络栈。即使实例没有配置公网 IPv4、22 端口的 SSH 完全连不上，或者系统卡在启动过程中毫无响应，VNC 通常仍然能显示屏幕内容。控制台自己的说明是："VNC 连接可用于在实例出现异常时远程查看实例的状态，以便进行故障排查和问题诊断。"

打开 VNC 入口本身不检查实例是否在运行——只要实例由 PVE 承载、没有被安全锁定，连接按钮就可用。真正决定你能不能用键盘鼠标操作屏幕的，是实例当下的电源状态，见下文的只读模式部分。

## Ctrl+Alt+Del 会直接重启 Linux 实例，不是弹出登录界面

工具栏上的 Ctrl+Alt+Del 按钮，在 Windows 和 Linux 实例上做的是完全不同的两件事：

| 会发生什么                                                                                                               | 不会发生什么                                                                                                 |
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| 按钮把 Ctrl、Alt、Delete 三个键的原始按下与释放信号发给客户机操作系统，效果等同于在物理键盘上按下这个组合键              | 不会调用任何 Cypacky 后端 API——平台只是转发按键，不知道、也不记录这是一次重启                                |
| 在 Linux 上，这个组合键默认由 systemd 的 `ctrl-alt-del.target` 接住，等同于执行 `systemctl reboot`，立即触发一次正常重启 | 不会先弹出确认对话框——点击图标的瞬间，按键就已经发出                                                         |
| 在 Windows 上，同样的按键组合触发的是安全登录序列，弹出登录、锁定或切换用户的界面                                        | 不会因为客户机是 Windows 还是 Linux 而改变前端行为——发出的是同一段按键，差异完全来自客户机系统自己的处理方式 |
| 重启走的是 systemd 的正常关机流程，磁盘上已保存的数据不受影响                                                            | 不会保留重启瞬间尚未保存的内存态数据——未保存的编辑内容、未提交的事务、正在进行的传输都会被中断，且无法找回   |

> [!CAUTION]
> 按钮的悬浮提示已经写明这一点："Linux：点击直接重启系统；Windows：用于启动登录界面。"点击这个图标**没有第二步确认**——不会弹出"确定要重启吗"的对话框，按下的瞬间按键已经发出。点击前，先确认自己连接的是哪个操作系统，以及是否真的要重启这台实例。

只读模式下这个按钮会被禁用，见下文的只读模式部分。

_界面示意图：VNC 工具栏，光标悬停在 Ctrl+Alt+Del 图标按钮上，弹出提示文字「Linux：点击直接重启系统；Windows：用于启动登录界面」_

## 开始之前

- **实例由 PVE 承载**：VNC 通道由 Proxmox VE 提供，只对由 PVE 承载的实例开放。不满足时按钮呈禁用状态，界面提示："此实例不支持 VNC 连接。"
- **实例未被安全锁定**：这一条同时决定**启动连接**按钮是否可点击——只要实例未被锁定，无论实例是否在运行，按钮都是可用的。一旦实例因安全投诉被锁定，申请连接会失败，返回："此实例因安全投诉已被锁定，无法使用 VNC。"
- **实例未在等待支付激活**：这一条不影响按钮是否可点击，只在实际申请连接时才校验。等待支付激活的实例申请连接会失败，返回："此实例正在等待支付激活，当前无法使用 VNC。"
- **实例账单状态正常**：同样只在申请连接时校验，不影响按钮外观。欠费的实例申请连接会失败，返回："此实例当前处于欠费状态，当前无法使用 VNC。"

以上三条提示都是后端硬编码的简体中文，不经过任何多语言字典，无论控制台界面语言设置为简体、繁体还是英文，看到的都是这段简体文字。

## 打开 VNC 控制台

1. 在实例详情页，选择**连接**标签页。
2. 在"VNC 连接"卡片中，选择**启动连接**。
3. 控制台打开新的 VNC 视图。状态栏先显示"正在连接到实例..."，连接成功后变为"已连接"。

_界面示意图：实例详情页的「连接」标签页，「VNC 连接」卡片，卡片说明文字和「启动连接」按钮_

## 连接令牌只在 60 秒内一次有效

每次选择**启动连接**，控制台都会向后端申请一份全新的连接凭证：一个一次性 RFB 密码和一个只在 60 秒内有效的连接令牌。令牌一旦被用来建立连接，服务端会立即删除它，同一个令牌无法用来连接第二次。

这意味着带令牌参数的 VNC 连接地址不能分享给别人。对方要么抢在你之前把令牌用掉，导致你自己连不上；要么两人都还没连接令牌就已经过期，双方都会连接失败。工具栏的**重连**按钮和断线后的自动重连，都会重新申请一份新令牌，而不是把旧令牌刷新后继续用。

## 只读模式与可交互模式

VNC 是否显示画面，和是否允许你用键盘鼠标操作，是两件独立的事。是否可交互取决于实例当下的电源状态：

| 实例状态                             | 键盘、鼠标和剪贴板                           |
| ------------------------------------ | -------------------------------------------- |
| 正在运行、故障、正在停止             | 可交互                                       |
| 其他状态，例如已停止、待配置、维护中 | 只读，工具栏的 Ctrl+Alt+Del 等操作按钮被禁用 |

只读状态下，工具栏图标的悬浮提示会替换成："当前实例状态仅允许查看，键盘、鼠标和剪贴板输入已禁用。"

_界面示意图：只读模式下的 VNC 视图，工具栏上 Ctrl+Alt+Del 等按钮呈禁用状态，光标悬停显示「当前实例状态仅允许查看，键盘、鼠标和剪贴板输入已禁用」提示_

## VNC 无法打开时

VNC 打不开有几种不同的原因，控制台会原样显示后端返回的提示文字，下面按触发场景分类说明。

### 实例不支持 VNC 连接

> 此实例不支持 VNC 连接。

实例不是由 PVE 承载，或者存在其他兼容性限制。连接按钮会保持禁用状态。

### 实例因安全投诉被锁定

> 此实例因安全投诉已被锁定，无法使用 VNC。

通过工单联系 Cypacky Support 了解原因和解锁条件。

### 实例正在等待支付激活

> 此实例正在等待支付激活，当前无法使用 VNC。

先完成支付，实例激活后再重试。

### 实例处于欠费状态

> 此实例当前处于欠费状态，当前无法使用 VNC。

结清欠费后即可重试。

### VNC 服务暂时不可用

申请连接凭证的过程涉及多个后端步骤：解析实例所在节点、向 PVE 申请 vncproxy、生成一次性令牌、写入连接会话。其中向 PVE 申请代理这一步失败时，返回：

> VNC 服务暂时不可用，请稍后再试

其余步骤（解析节点信息、生成令牌、写入会话）失败时，返回：

> VNC 连接信息获取失败，请稍后再试

两种情况都值得稍等片刻重试；如果反复出现，记录实例 ID 和时间，联系 Cypacky Support。

## 连接中的常见问题

- **获取VNC密码失败**：重新连接时向后端请求新令牌失败。检查网络后重试；切换浏览器标签页或窗口失去焦点会暂停自动重连，切回页面后手动选择**重连**。
- **无法粘贴：未连接到实例**：VNC 尚未建立连接就打开了剪贴板粘贴框。等待状态变为"已连接"后再粘贴。
- **请输入要发送的内容**：粘贴框内容为空时选择了发送。
- **全屏失败** / **退出全屏失败**：浏览器拒绝了全屏请求，通常发生在权限受限的浏览器标签页中。刷新页面后重试，或改用浏览器自带的全屏方式。

## 相关文档

- [实例详情](/zh-cn/compute/instances/detail/)
- [实例连接](/zh-cn/compute/instances/detail/connect/)
- [启动、停止与重启实例](/zh-cn/compute/instances/management/power/)
- [使用 Web SSH](/zh-cn/compute/access/web-ssh/)
