Habilitar pantallas virtuales en una VM


Este documento describe cómo habilitar o deshabilitar pantallas virtuales en una instancia de máquina virtual (VM).

Si una aplicación que se ejecuta en su VM requiere un dispositivo de visualización, pero no necesita el rendimiento de una GPU, configure su VM para usar dispositivos de visualización virtuales. Al habilitar pantallas virtuales en una máquina virtual, puede ejecutar dispositivos de visualización virtual en la máquina virtual, como herramientas de administración remota del sistema, software de escritorio remoto y captura de pantalla .

Antes de comenzar

  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    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

      Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

      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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.

      Para obtener más información, consulta Set up authentication for a local development environment.

      REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        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.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Roles requeridos

Para obtener los permisos que necesita para habilitar o deshabilitar pantallas virtuales en una máquina virtual, solicite a su administrador que le otorgue la función de IAM Compute Instance Admin (v1) ( roles/compute.instanceAdmin.v1 ) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .

Esta función predefinida contiene los permisos necesarios para habilitar o deshabilitar pantallas virtuales en una máquina virtual. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :

Permisos requeridos

Se requieren los siguientes permisos para habilitar o deshabilitar pantallas virtuales en una máquina virtual:

  • Para habilitar o deshabilitar pantallas virtuales en una máquina virtual existente: compute.instances.updateDisplayDevice en la máquina virtual
  • Para crear una máquina virtual con pantallas virtuales habilitadas:
    • compute.instances.create en el proyecto.
    • Para usar una imagen personalizada para crear la VM: compute.images.useReadOnly en la imagen
    • Para usar una instantánea para crear la VM: compute.snapshots.useReadOnly en la instantánea
    • Para usar una plantilla de instancia para crear la VM: compute.instanceTemplates.useReadOnly en la plantilla de instancia
    • Para asignar una red heredada a la VM: compute.networks.use en el proyecto
    • Para especificar una dirección IP estática para la VM: compute.addresses.use en el proyecto
    • Para asignar una dirección IP externa a la VM cuando se usa una red heredada: compute.networks.useExternalIp en el proyecto
    • Para especificar una subred para la VM: compute.subnetworks.use en el proyecto o en la subred elegida
    • Para asignar una dirección IP externa a la VM cuando se usa una red VPC: compute.subnetworks.useExternalIp en el proyecto o en la subred elegida
    • Para configurar metadatos de instancia de VM para la VM: compute.instances.setMetadata en el proyecto
    • Para configurar etiquetas para la VM: compute.instances.setTags en la VM
    • Para configurar etiquetas para la VM: compute.instances.setLabels en la VM
    • Para configurar una cuenta de servicio para que la use la VM: compute.instances.setServiceAccount en la VM
    • Para crear un nuevo disco para la VM: compute.disks.create en el proyecto
    • Para conectar un disco existente en modo de solo lectura o lectura-escritura: compute.disks.use en el disco
    • Para conectar un disco existente en modo de solo lectura: compute.disks.useReadOnly en el disco

Es posible que también pueda obtener estos permisos con roles personalizados u otros roles predefinidos .

Precios

No hay costos asociados con habilitar o deshabilitar pantallas virtuales en una máquina virtual.

Restricciones

Para las máquinas virtuales con pantallas virtuales habilitadas, se aplican las siguientes limitaciones:

  • Si su máquina virtual ejecuta una imagen del sistema operativo Windows basada en x64 anterior a la versión v20190312 , luego de habilitar las pantallas virtuales en su máquina virtual, debe instalar el controlador de pantalla virtual como se describe en este documento. Si su máquina virtual ejecuta una versión posterior de la imagen del sistema operativo, entonces el controlador ya está instalado en la imagen del sistema operativo.

  • Puede usar un dispositivo de pantalla virtual en la máquina virtual solo después de que el sistema operativo invitado inicie e inicialice el controlador de pantalla virtual.

  • No puede utilizar dispositivos de visualización virtual en máquinas virtuales que ejecutan la plataforma de CPU Sandy Bridge .

  • No puede utilizar dispositivos de visualización virtual en máquinas virtuales T2A Arm .

Habilitar pantallas virtuales en una VM

Para habilitar pantallas virtuales en una máquina virtual, seleccione uno de los siguientes métodos descritos en este documento:

Si su máquina virtual ejecuta una imagen del sistema operativo Windows basada en x64 anterior a la versión v20190312 , luego de habilitar las pantallas virtuales en la máquina virtual, instale el controlador de pantalla virtual como se describe en este documento.

Cree una máquina virtual con pantallas virtuales habilitadas

Para crear una máquina virtual con pantallas virtuales habilitadas, seleccione una de las siguientes opciones:

Consola

  1. En el Google Cloud consola, vaya a la página Crear una instancia .

    Ir a Crear una instancia

  2. Especifique las propiedades de la VM, incluido el nombre, la zona y el tipo de máquina.

  3. En la sección Dispositivo de visualización , seleccione la casilla de verificación Habilitar dispositivo de visualización .

  4. Para crear la VM, haga clic en Crear .

nube de gcloud

Para crear una máquina virtual con pantallas virtuales habilitadas, use el comando gcloud compute instances create con la marca --enable-display-device .

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

Reemplace lo siguiente:

  • VM_NAME : el nombre de la VM.

  • MACHINE_TYPE : el tipo de máquina que se utilizará para la VM.

  • ZONE : la zona en la que crear la VM.

Terraformar

Para crear una máquina virtual con pantallas virtuales habilitadas, use el recurso Terraform con el argumento enable_display establecido en true .

Por ejemplo, para crear una máquina virtual en la zona us-central1-c con pantallas virtuales habilitadas y especificar f1-micro como tipo de máquina, use el siguiente recurso:


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 {
    }
  }
}

DESCANSAR

Para crear una máquina virtual con pantallas virtuales habilitadas, realice una solicitud POST al método instances.insert . En el cuerpo de la solicitud, incluya el campo enableDisplay establecido en true .

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

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto en el que crear la VM.

  • ZONE : la zona en la que crear la VM.

  • VM_NAME : el nombre de la VM.

  • MACHINE_TYPE : el tipo de máquina que se utilizará para la VM.

  • IMAGE_PROJECT : el proyecto de imagen que contiene la imagen del sistema operativo, por ejemplo, debian-cloud . Para obtener más información sobre los proyectos de imágenes admitidos, consulte Imágenes públicas .

  • IMAGE : especifique uno de los siguientes:

    • Una versión específica de la imagen del sistema operativo, por ejemplo, debian-12-bookworm-v20240617 .

    • Una familia de imágenes , que debe tener el formato family/ IMAGE_FAMILY . Esto especifica la imagen del sistema operativo más reciente y no obsoleta. Por ejemplo, si especifica family/debian-12 , se utiliza la última versión de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de familias de imágenes, consulte Mejores prácticas de familias de imágenes .

Para obtener más información sobre la creación de una VM, consulte Crear e iniciar una instancia de Compute Engine .

Habilite pantallas virtuales en una máquina virtual existente

Antes de habilitar pantallas virtuales en una máquina virtual, asegúrese de detener la máquina virtual .

Para habilitar pantallas virtuales en una máquina virtual existente, seleccione una de las siguientes opciones:

Consola

  1. En el Google Cloud consola, vaya a la página de instancias de VM .

    Vaya a la página de instancias de VM

  2. En la columna Nombre , haga clic en el nombre de la VM.

    Se abre la página de detalles de la VM.

  3. Haga clic en Editar .

    Se abre la página para editar las propiedades de la VM.

  4. En la sección Dispositivo de visualización , seleccione la casilla de verificación Habilitar dispositivo de visualización .

  5. Haga clic en Guardar .

nube de gcloud

Para habilitar pantallas virtuales en una VM existente, use el comando gcloud compute instances update con la marca --enable-display-device .

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

Reemplace lo siguiente:

  • VM_NAME : el nombre de la VM.

  • ZONE : la zona donde se encuentra la VM.

DESCANSAR

Para habilitar pantallas virtuales en una máquina virtual existente, realice una solicitud POST al método instances.updateDisplayDevice . En el cuerpo de la solicitud, incluya el campo enableDisplay y configúrelo en true .

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

{
  "enableDisplay": true
}

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto donde se encuentra la VM.

  • ZONE : la zona donde se encuentra la VM.

  • VM_NAME : el nombre de la VM.

Deshabilitar pantallas virtuales en una máquina virtual existente

Antes de deshabilitar las pantallas virtuales en una VM, asegúrese de detener la VM .

Para deshabilitar pantallas virtuales en una máquina virtual existente, seleccione una de las siguientes opciones:

Consola

  1. En el Google Cloud consola, vaya a la página de instancias de VM .

    Vaya a la página de instancias de VM

  2. En la columna Nombre , haga clic en el nombre de la VM.

    Se abre la página de detalles de la VM.

  3. Haga clic en Editar .

    Se abre la página para editar las propiedades de la VM.

  4. En la sección Dispositivo de visualización , desmarque la casilla de verificación Habilitar dispositivo de visualización .

  5. Haga clic en Guardar .

nube de gcloud

Para deshabilitar pantallas virtuales en una VM existente, use el comando gcloud compute instances update con la marca --no-enable-display-device .

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

Reemplace lo siguiente:

  • VM_NAME : el nombre de la VM.

  • ZONE : la zona donde se encuentra la VM.

DESCANSAR

Para deshabilitar pantallas virtuales en una máquina virtual existente, realice una solicitud POST al método instances.updateDisplayDevice . En el cuerpo de la solicitud, incluya el campo enableDisplay y configúrelo en false .

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

{
  "enableDisplay": false
}

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto donde se encuentra la VM.

  • ZONE : la zona donde se encuentra la VM.

  • VM_NAME : el nombre de la VM.

Instale el controlador de pantalla virtual

Si ha habilitado pantallas virtuales en una máquina virtual de Windows que ejecuta una imagen del sistema operativo Windows anterior a la versión v20190312 , entonces, para usar un dispositivo de pantalla virtual en la máquina virtual, debe instalar el controlador de pantalla virtual proporcionado por Google Cloud. Si la máquina virtual ejecuta una versión de imagen del sistema operativo más reciente, entonces el controlador ya está instalado y puede omitir esta sección.

Para instalar el controlador de pantalla virtual en una máquina virtual con pantallas virtuales habilitadas, haga lo siguiente:

  1. Conéctese a la máquina virtual de Windows .

  2. Abra una terminal PowerShell como administrador.

  3. Instale el componente google-compute-engine-driver-gga :

    googet install google-compute-engine-driver-gga
    
  4. Reinicie la máquina virtual .

Después de reiniciar la VM, puede verificar que el controlador se instaló correctamente como se describe en la siguiente sección.

Verifique la instalación del controlador de pantalla virtual

Si tuvo que instalar manualmente el controlador de pantalla virtual en una máquina virtual de Windows como se describe en la sección anterior, puede verificar que la instalación se realizó correctamente haciendo lo siguiente:

  1. Si aún no lo ha hecho, conéctese a la máquina virtual de Windows .

  2. Abra el Administrador de dispositivos.

  3. En la lista del Administrador de dispositivos , en la lista de Adaptadores de pantalla , asegúrese de que aparezca el controlador Google Graphics Array (GGA).

    Si el controlador no aparece en la lista, reinstale el controlador de pantalla virtual como se describe en este documento.

¿Qué sigue?