在 VM 上啟用虛擬顯示器


本文說明如何在虛擬機器 (VM) 執行個體上啟用或停用虛擬螢幕。

如果 VM 上執行的應用程式需要顯示裝置,但您不需要 GPU 的效能,請將 VM 設定為使用虛擬顯示裝置。在 VM 上啟用虛擬螢幕後,即可在 VM 上執行虛擬顯示裝置,例如遠端系統管理工具、遠端桌面軟體和螢幕擷取

事前準備

  • 如果尚未設定驗證,請先完成設定。 「驗證」是指驗證身分的程序,確認您有權存取 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

      1. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. Terraform

        如要在本機開發環境中使用本頁的 Terraform 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。

        1. Install the Google Cloud CLI.

        2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        3. To initialize the gcloud CLI, run the following command:

          gcloud init
        4. 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.

          If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

        詳情請參閱 Set up authentication for a local development environment

        REST

        如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

必要的角色

如要取得在 VM 上啟用或停用虛擬螢幕所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色具備在 VM 上啟用或停用虛擬螢幕所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要在 VM 上啟用或停用虛擬螢幕,必須具備下列權限:

  • 如要在現有 VM 上啟用或停用虛擬顯示器: compute.instances.updateDisplayDevice VM
  • 如要建立已啟用虛擬顯示器的 VM,請按照下列步驟操作:
    • 專案的 compute.instances.create 權限
    • 如要使用自訂映像檔建立 VM,請按一下映像檔上的 compute.images.useReadOnly
    • 如要使用快照建立 VM,請按一下快照上的 compute.snapshots.useReadOnly
    • 如要使用執行個體範本建立 VM,請按一下執行個體範本上的 compute.instanceTemplates.useReadOnly
    • 如要將舊版網路指派給 VM:專案的 compute.networks.use
    • 如要為 VM 指定靜態 IP 位址,請在專案中擁有 compute.addresses.use 權限
    • 使用舊版網路時,如要將外部 IP 位址指派給 VM,請在專案中設定 compute.networks.useExternalIp
    • 為 VM 指定子網路:專案或所選子網路的 compute.subnetworks.use
    • 使用虛擬私有雲網路時,如要將外部 IP 位址指派給 VM,請在專案或所選子網路上擁有 compute.subnetworks.useExternalIp 權限
    • 如要為專案中的 VM 設定 VM 執行個體中繼資料,請執行下列指令:compute.instances.setMetadata
    • 如要為 VM 設定標記,請在 VM 上按一下 compute.instances.setTags
    • 如要為 VM 設定標籤,請在 VM 上執行下列步驟:compute.instances.setLabels
    • 如要設定 VM 使用的服務帳戶,請在 VM 上執行 compute.instances.setServiceAccount
    • 如要為 VM 建立新磁碟,請取得專案的 compute.disks.create 權限
    • 如要以唯讀或讀寫模式連接現有磁碟,請對磁碟擁有 compute.disks.use 權限
    • 如要以唯讀模式連接現有磁碟,請對磁碟擁有 compute.disks.useReadOnly 權限

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

定價

在 VM 上啟用或停用虛擬螢幕不會產生任何費用。

限制

啟用虛擬螢幕的 VM 會有下列限制:

  • 如果 VM 執行的 Windows 作業系統映像檔是以 x64 為基礎,且版本早於 v20190312,則在 VM 上啟用虛擬顯示器後,您必須按照本文說明安裝虛擬顯示驅動程式。如果 VM 執行的是較新的 OS 映像檔版本,則驅動程式已安裝在 OS 映像檔上。

  • 只有在客體 OS 啟動並初始化虛擬顯示驅動程式後,才能在 VM 上使用虛擬顯示裝置。

  • 在執行 Sandy Bridge CPU 平台的 VM 上,無法使用虛擬顯示裝置。

  • 您無法在 T2A Arm VM 上使用虛擬顯示裝置。

在 VM 上啟用虛擬顯示器

如要在 VM 上啟用虛擬螢幕,請選取本文所述的下列其中一種方法:

如果 VM 執行的 Windows 作業系統映像檔是以 x64 為基礎,且版本早於 v20190312,請在 VM 上啟用虛擬顯示器後,按照本文說明安裝虛擬顯示驅動程式

建立啟用虛擬顯示器的 VM

如要建立啟用虛擬螢幕的 VM,請選取下列任一選項:

主控台

  1. 前往 Google Cloud 控制台的「Create an instance」(建立執行個體) 頁面。

    前往「建立執行個體」

  2. 指定 VM 的屬性,包括名稱、區域和機器類型。

  3. 在「顯示裝置」部分中,選取「啟用顯示裝置」核取方塊。

  4. 如要建立 VM,請按一下「建立」

gcloud

如要建立啟用虛擬螢幕的 VM,請使用 gcloud compute instances create 指令搭配 --enable-display-device 旗標。

gcloud compute instances create VM_NAME \
    --enable-display-device \
    --machine-type=MACHINE_TYPE \
    --zone=ZONE

更改下列內容:

  • VM_NAME:VM 名稱。

  • MACHINE_TYPE:VM 使用的機器類型。

  • ZONE:建立 VM 的可用區。

Terraform

如要建立啟用虛擬螢幕的 VM,請使用 Terraform 資源,並將 enable_display 引數設為 true

舉例來說,如要在可用區 us-central1-c 中建立啟用虛擬螢幕的 VM,並指定 f1-micro 做為機器類型,請使用下列資源:


resource "google_compute_instance" "instance_virtual_display" {
  name         = "instance-virtual-display"
  machine_type = "f1-micro"
  zone         = "us-central1-c"

  # Set the below to true to enable virtual display
  enable_display = true

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }
  network_interface {
    # A default network is created for all GCP projects
    network = "default"
    access_config {
    }
  }
}

REST

如要建立啟用虛擬螢幕的 VM,請對 instances.insert 方法發出 POST 要求。在要求主體中,加入設為 trueenableDisplay 欄位。

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"
    }
  ]
}

更改下列內容:

  • PROJECT_ID:要在其中建立 VM 的專案 ID。

  • ZONE:建立 VM 的可用區。

  • VM_NAME:VM 名稱。

  • MACHINE_TYPE:VM 使用的機器類型。

  • IMAGE_PROJECT:包含 OS 映像檔的映像檔專案,例如 debian-cloud。如要進一步瞭解支援的映像檔專案,請參閱「公開映像檔」。

  • IMAGE:指定下列其中一項:

    • 特定版本的 OS 映像檔,例如 debian-12-bookworm-v20240617

    • 映像檔系列,格式必須為 family/IMAGE_FAMILY。這會指定最新的非已淘汰 OS 映像檔。舉例來說,如果您指定 family/debian-12,系統會使用 Debian 12 映像檔系列中的最新版本。如要進一步瞭解如何使用映像檔系列,請參閱「映像檔系列最佳做法」。

如要進一步瞭解如何建立 VM,請參閱「建立及啟動 Compute Engine 執行個體」。

在現有 VM 上啟用虛擬顯示器

在 VM 上啟用虛擬螢幕前,請務必停止 VM

如要在現有 VM 上啟用虛擬顯示器,請選取下列其中一個選項:

主控台

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面

    前往 VM 執行個體頁面

  2. 在「Name」(名稱) 欄中,按一下 VM 名稱。

    VM 的詳細資料頁面隨即開啟。

  3. 按一下「Edit」(編輯)

    系統會開啟編輯 VM 屬性的頁面。

  4. 在「顯示裝置」部分中,選取「啟用顯示裝置」核取方塊。

  5. 按一下 [儲存]

gcloud

如要在現有 VM 上啟用虛擬螢幕,請使用 --enable-display-device 旗標搭配 gcloud compute instances update 指令

gcloud compute instances update VM_NAME \
    --enable-display-device \
    --zone=ZONE

更改下列內容:

  • VM_NAME:VM 名稱。

  • ZONE:VM 所在的區域。

REST

如要在現有 VM 上啟用虛擬顯示器,請對 instances.updateDisplayDevice 方法發出 POST 要求。在要求主體中加入 enableDisplay 欄位,並將其設為 true

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateDisplayDevice

{
  "enableDisplay": true
}

更改下列內容:

  • PROJECT_ID:VM 所在的專案 ID。

  • ZONE:VM 所在的區域。

  • VM_NAME:VM 名稱。

在現有 VM 上停用虛擬顯示器

在 VM 上停用虛擬螢幕前,請務必停止 VM

如要停用現有 VM 的虛擬螢幕,請選取下列其中一個選項:

主控台

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面

    前往 VM 執行個體頁面

  2. 在「Name」(名稱) 欄中,按一下 VM 名稱。

    VM 的詳細資料頁面隨即開啟。

  3. 按一下「Edit」(編輯)

    系統會開啟編輯 VM 屬性的頁面。

  4. 在「顯示裝置」部分,取消勾選「啟用顯示裝置」核取方塊。

  5. 按一下 [儲存]

gcloud

如要停用現有 VM 的虛擬螢幕,請使用 gcloud compute instances update 指令搭配 --no-enable-display-device 旗標。

gcloud compute instances update VM_NAME \
    --no-enable-display-device \
    --zone=ZONE

更改下列內容:

  • VM_NAME:VM 名稱。

  • ZONE:VM 所在的區域。

REST

如要在現有 VM 上停用虛擬顯示器,請對 instances.updateDisplayDevice 方法發出 POST 要求。在要求主體中加入 enableDisplay 欄位,並將其設為 false

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateDisplayDevice

{
  "enableDisplay": false
}

更改下列內容:

  • PROJECT_ID:VM 所在的專案 ID。

  • ZONE:VM 所在的區域。

  • VM_NAME:VM 名稱。

安裝虛擬顯示驅動程式

如果您在 Windows VM 上啟用虛擬顯示器,但該 VM 執行的 Windows OS 映像檔版本早於 v20190312,則必須安裝 Google Cloud提供的虛擬顯示驅動程式,才能在 VM 上使用虛擬顯示裝置。如果 VM 執行的是較新版本的 OS 映像檔,則驅動程式已安裝完成,您可以略過本節。

如要在啟用虛擬顯示器的 VM 上安裝虛擬顯示驅動程式,請按照下列步驟操作:

  1. 連線至 Windows VM

  2. 以系統管理員身分開啟 PowerShell 終端機。

  3. 安裝 google-compute-engine-driver-gga 元件:

    googet install google-compute-engine-driver-gga
    
  4. 重新啟動 VM

重新啟動 VM 後,您可以按照下一節的說明,確認驅動程式已正確安裝

確認虛擬顯示驅動程式安裝完成

如果您需要在 Windows VM 上手動安裝虛擬螢幕驅動程式 (如上一節所述),請按照下列步驟操作,確認安裝是否成功:

  1. 如果尚未連線,請連線至 Windows VM

  2. 開啟裝置管理工具。

  3. 在「裝置管理員」清單的「顯示卡」清單中,確認 Google Graphics Array (GGA) 驅動程式是否列在清單中。

    如果未列出驅動程式,請按照本文說明重新安裝虛擬顯示驅動程式

後續步驟