本文档介绍如何在虚拟机 (VM) 实例上启用或停用虚拟显示。
如果虚拟机上运行的应用需要显示设备,但您不需要 GPU 的性能,则将虚拟机配置为使用虚拟显示设备。通过在虚拟机上启用虚拟显示,您可以在虚拟机上运行虚拟显示设备,例如远程系统管理工具、远程桌面软件和屏幕截取。
准备工作
-
设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
在现有虚拟机上启用或停用虚拟显示:针对虚拟机的
compute.instances.updateDisplayDevice
权限 -
创建启用了虚拟显示的虚拟机:
- 针对项目的
compute.instances.create
权限 - 使用自定义映像创建虚拟机:针对映像的
compute.images.useReadOnly
权限 - 使用快照创建虚拟机:针对快照的
compute.snapshots.useReadOnly
权限 - 使用实例模板创建虚拟机:针对实例模板的
compute.instanceTemplates.useReadOnly
权限 - 为虚拟机分配旧版网络:针对项目的
compute.networks.use
权限 - 为虚拟机指定静态 IP 地址:针对项目的
compute.addresses.use
权限 - 使用旧版网络时为虚拟机分配外部 IP 地址:针对项目的
compute.networks.useExternalIp
权限 - 为虚拟机指定子网:针对项目或所选子网的
compute.subnetworks.use
权限 - 在使用 VPC 网络时为虚拟机分配外部 IP 地址:针对项目或所选子网的
compute.subnetworks.useExternalIp
权限 - 为虚拟机设置虚拟机实例元数据:针对项目的
compute.instances.setMetadata
权限 - 为虚拟机设置标记:针对虚拟机的
compute.instances.setTags
权限 - 为虚拟机设置标签:针对虚拟机的
compute.instances.setLabels
权限 - 为虚拟机设置要使用的服务账号:针对虚拟机的
compute.instances.setServiceAccount
权限 - 为虚拟机创建新磁盘:针对项目的
compute.disks.create
权限 - 以只读或读写模式挂接现有磁盘:针对磁盘的
compute.disks.use
权限 - 以只读模式挂接现有磁盘:针对磁盘的
compute.disks.useReadOnly
权限
- 针对项目的
如果虚拟机运行的是版本
v20190312
之前基于 x64 的 Windows 操作系统映像,则在虚拟机上启用虚拟显示后,您必须按照本文档中所述安装虚拟显示驱动程序。如果虚拟机运行的是更高的操作系统映像版本,则表示该驱动程序已安装在操作系统映像上。只有在客机操作系统启动并初始化虚拟显示驱动程序后,您才能在虚拟机上使用虚拟显示设备。
您不能在运行 Sandy Bridge CPU 平台的虚拟机上使用虚拟显示设备。
您不能在 T2A Arm 虚拟机上使用虚拟显示设备。
在 Google Cloud 控制台中,转到创建实例页面。
指定虚拟机的属性,包括名称、可用区和机器类型。
在显示设备部分中,选中启用显示设备复选框。
如需创建虚拟机,请点击创建。
VM_NAME
:虚拟机的名称。MACHINE_TYPE
:要用于虚拟机的机器类型。ZONE
:要在其中创建虚拟机的可用区。PROJECT_ID
:要在其中创建虚拟机的项目的 ID。ZONE
:要在其中创建虚拟机的可用区。VM_NAME
:虚拟机的名称。MACHINE_TYPE
:要用于虚拟机的机器类型。IMAGE_PROJECT
:操作系统映像所属的映像项目;例如debian-cloud
。如需详细了解支持的映像项目,请参阅公共映像。IMAGE
:指定以下其中一项:在 Google Cloud 控制台中,转到虚拟机实例页面。
在名称列中,点击虚拟机的名称。
系统会打开虚拟机的详情页面。
点击
修改。系统会打开用于修改虚拟机属性的页面。
在显示设备部分中,选中启用显示设备复选框。
点击保存。
VM_NAME
:虚拟机的名称。ZONE
:该虚拟机所在的可用区。PROJECT_ID
:虚拟机所在项目的 ID。ZONE
:该虚拟机所在的可用区。VM_NAME
:虚拟机的名称。在 Google Cloud 控制台中,转到虚拟机实例页面。
在名称列中,点击虚拟机的名称。
系统会打开虚拟机的详情页面。
点击
修改。系统会打开用于修改虚拟机属性的页面。
在显示设备部分中,取消选中启用显示设备复选框。
点击保存。
VM_NAME
:虚拟机的名称。ZONE
:该虚拟机所在的可用区。PROJECT_ID
:虚拟机所在项目的 ID。ZONE
:该虚拟机所在的可用区。VM_NAME
:虚拟机的名称。以管理员身份打开 PowerShell 终端。
安装
google-compute-engine-driver-gga
组件:googet install google-compute-engine-driver-gga
连接到 Windows 虚拟机(如果尚未连接到)。
打开设备管理器。
在 Device Manager 列表的 Display adapters 列表中,确保列出了 Google Graphics Array (GGA) 驱动程序。
如果未列出该驱动程序,请按照本文档中所述重新安装虚拟显示驱动程序。
Terraform
如需在本地开发环境中使用本页面上的 Terraform 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。
如需了解详情,请参阅 Set up authentication for a local development environment。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色
如需获得在虚拟机上启用或停用虚拟显示所需的权限,请让您的管理员为您授予项目的 Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。此预定义角色可提供在虚拟机上启用或停用虚拟显示所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
在虚拟机上启用或停用虚拟显示需要以下权限:
价格
在虚拟机上启用或停用虚拟显示不会产生任何相关费用。
限制
对于启用了虚拟显示的虚拟机,存在以下限制:
在虚拟机上启用虚拟显示
如需在虚拟机上启用虚拟显示,请选择本文档中所述的以下方法之一:
如果虚拟机运行的是版本
v20190312
之前基于 x64 的 Windows 操作系统映像,则在虚拟机上启用虚拟显示后,请按照本文档中所述安装虚拟显示驱动程序。创建启用了虚拟显示的虚拟机
如需创建启用了虚拟显示的虚拟机,请选择以下选项之一:
控制台
gcloud
如需创建启用了虚拟显示的虚拟机,请将
gcloud compute instances create
命令与--enable-display-device
标志结合使用。gcloud compute instances create VM_NAME \ --enable-display-device \ --machine-type=MACHINE_TYPE \ --zone=ZONE
替换以下内容:
Terraform
如需创建启用了虚拟显示的虚拟机,请使用 Terraform 资源,并将
enable_display
参数设置为true
。例如,如需在可用区
us-central1-c
中创建启用了虚拟显示的虚拟机,并将f1-micro
指定为机器类型,请使用以下资源:REST
如需创建启用了虚拟显示的虚拟机,请向
instances.insert
方法发出POST
请求。在请求正文中,添加设置为true
的enableDisplay
字段。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "project/IMAGE_PROJECT/global/images/IMAGE" } } ], "displayDevice": { "enableDisplay": true }, "networkInterfaces": [ { "network": "global/networks/default" } ] }
替换以下内容:
如需详细了解如何创建虚拟机,请参阅创建并启动 Compute Engine 实例。
在现有虚拟机上启用虚拟显示
在虚拟机上启用虚拟显示之前,请务必停止虚拟机。
如需在现有虚拟机上启用虚拟显示,请选择以下选项之一:
控制台
gcloud
如需在现有虚拟机上启用虚拟显示,请将
gcloud compute instances update
命令与--enable-display-device
标志结合使用。gcloud compute instances update VM_NAME \ --enable-display-device \ --zone=ZONE
替换以下内容:
REST
如需在现有虚拟机上启用虚拟显示,请向
instances.updateDisplayDevice
方法发出POST
请求。在请求正文中,添加enableDisplay
字段并将其设置为true
。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateDisplayDevice { "enableDisplay": true }
替换以下内容:
在现有虚拟机上停用虚拟显示
在虚拟机上停用虚拟显示之前,请务必停止虚拟机。
如需在现有虚拟机上停用虚拟显示,请选择以下选项之一:
控制台
gcloud
如需在现有虚拟机上停用虚拟显示,请将
gcloud compute instances update
命令与--no-enable-display-device
标志结合使用。gcloud compute instances update VM_NAME \ --no-enable-display-device \ --zone=ZONE
替换以下内容:
REST
如需在现有虚拟机上停用虚拟显示,请向
instances.updateDisplayDevice
方法发出POST
请求。在请求正文中,添加enableDisplay
字段并将其设置为false
。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateDisplayDevice { "enableDisplay": false }
替换以下内容:
安装虚拟显示驱动程序
如果您已在运行版本
v20190312
之前的 Windows 操作系统映像的 Windows 虚拟机上启用了虚拟显示,则如需在该虚拟机上使用虚拟显示设备,您必须安装 Google Cloud 提供的虚拟显示驱动程序。如果虚拟机运行较新的操作系统映像版本,则表示该驱动程序已安装,您可以跳过此部分。如需在启用了虚拟显示的虚拟机上安装虚拟显示驱动程序,请执行以下操作:
重启虚拟机后,您可以按照下一部分所述验证是否已正确安装驱动程序。
验证虚拟显示驱动程序的安装情况
如果您必须按照上一部分中所述在 Windows 虚拟机上手动安装虚拟显示驱动程序,则可以通过执行以下操作来验证安装是否成功:
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-18。
-