Habilita pantallas virtuales en una VM


En este documento, se describe cómo habilitar o inhabilitar pantallas virtuales en una instancia de máquina virtual (VM).

Si una aplicación que se ejecuta en tu VM requiere un dispositivo de visualización, pero no necesitas el rendimiento de una GPU, configura tu VM para que use dispositivos de visualización virtual. Si habilitas pantallas virtuales en una VM, puedes ejecutar dispositivos de pantalla virtual en la VM, como herramientas de administración de sistemas remotos, software de escritorio remoto y captura de pantalla.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    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. To initialize the gcloud CLI, run the following command:

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

      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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

Roles obligatorios

Para obtener los permisos que necesitas a fin de modificar las pantallas virtuales en una VM, pídele a tu administrador que te otorgue el rol Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1) de IAM en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para habilitar o inhabilitar pantallas virtuales en una VM. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para habilitar o inhabilitar las pantallas virtuales en una VM:

  • Para habilitar o inhabilitar pantallas virtuales en una VM existente, usa compute.instances.updateDisplayDevice en la VM.
  • Para crear una VM con pantallas virtuales habilitadas, haz lo siguiente:
    • compute.instances.create en el proyecto
    • Para usar una imagen personalizada con el fin de crear la VM, sigue estos pasos: compute.images.useReadOnly en la imagen
    • Si deseas usar una instantánea para crear la VM, sigue estos pasos: compute.snapshots.useReadOnly en la instantánea
    • Para usar una plantilla de instancias a fin de crear la VM, haz lo siguiente: compute.instanceTemplates.useReadOnly en la plantilla de instancias
    • Para asignar una red heredada a la VM: compute.networks.use en el proyecto
    • Si deseas 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 y punto heredado; compute.networks.useExternalIp en el proyecto
    • A fin de 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 de VPC, compute.subnetworks.useExternalIp en el proyecto o en la subred elegida
    • A fin de configurar los metadatos de la instancia de VM para la VM y los puntos, sigue estos pasos: compute.instances.setMetadata en el proyecto
    • A fin de configurar etiquetas para la VM y los puntos; compute.instances.setTags en la VM
    • Si deseas configurar etiquetas para la VM, haz lo siguiente: compute.instances.setLabels en la VM
    • A fin de configurar una cuenta de servicio para que la VM la usecompute.instances.setServiceAccount en la VM
    • Si deseas crear un disco nuevo para la VM: compute.disks.create en el proyecto
    • Para conectar un disco existente en modo de solo lectura o de lectura y escritura, haz lo siguiente: compute.disks.use en el disco
    • Para conectar un disco existente en modo de solo lectura y dos puntos, sigue estos pasos: compute.disks.useReadOnly en el disco

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Precios

No hay costos asociados con habilitar o inhabilitar pantallas virtuales en una VM.

Restricciones

Para las VMs con pantallas virtuales habilitadas, se aplican las siguientes limitaciones:

  • Si tu VM ejecuta una imagen del SO Windows basada en x64 anterior a la versión v20190312, después de habilitar las pantallas virtuales en la VM, debes instalar el controlador de pantalla virtual como se describe en este documento. Si tu VM ejecuta una versión posterior de la imagen del SO, el controlador ya está instalado en la imagen del SO.

  • Puedes usar un dispositivo de pantalla virtual en la VM solo después de que se inicie el SO invitado y se inicialice el controlador de pantalla virtual.

  • No puedes usar dispositivos de pantalla virtuales en VMs que ejecutan la plataforma de CPU Sandy Bridge.

  • No puedes usar dispositivos de pantalla virtual en VMs T2A Arm.

Habilita pantallas virtuales en una VM

Para habilitar pantallas virtuales en una VM, selecciona uno de los siguientes métodos que se describen en este documento:

Si tu VM ejecuta una imagen del SO Windows basada en x64 anterior a la versión v20190312, después de habilitar las pantallas virtuales en la VM, instala el controlador de pantalla virtual como se describe en este documento.

Crea una VM con la estación de trabajo virtual habilitada

Para crear una VM con pantallas virtuales habilitadas, selecciona una de las siguientes opciones:

Console

  1. En la consola de Google Cloud, ve a la página Crea una instancia.

    Ir a Crear una instancia

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

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

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

gcloud

Para crear una VM con pantallas virtuales habilitadas, usa 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

Reemplaza lo siguiente:

  • VM_NAME: el nombre de la VM.

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

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

Terraform

Para crear una VM con pantallas virtuales habilitadas, usa el recurso Terraform con el argumento enable_display establecido en true.

Por ejemplo, para crear una VM en la zona us-central1-c con pantallas virtuales activadas y especificar f1-micro como el tipo de máquina, usa 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 {
    }
  }
}

REST

Para crear una VM con pantallas virtuales habilitadas, realiza una solicitud POST al método instances.insert. En el cuerpo de la solicitud, incluye el campo enableDisplay configurado como 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"
    }
  ]
}

Reemplaza lo siguiente:

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

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

  • VM_NAME: el nombre de la VM.

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

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

  • IMAGE: especifica una de las siguientes opciones:

    • una versión específica de la imagen de SO; por ejemplo, debian-12-bookworm-v20240617.

    • Una familia de imágenes, que debe tener el formato family/IMAGE_FAMILY. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas family/debian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.

Para obtener más información sobre cómo crear una VM, consulta Crea y, luego, inicia una instancia de Compute Engine.

Habilita pantallas virtuales en una VM existente

Antes de habilitar pantallas virtuales en una VM, asegúrate de detenerla.

Para habilitar pantallas virtuales en una VM existente, selecciona una de las siguientes opciones:

Console

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

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

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

  3. Haz clic en  Editar.

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

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

  5. Haz clic en Guardar.

gcloud

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

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

Reemplaza lo siguiente:

  • VM_NAME: el nombre de la VM.

  • ZONE: la zona donde se ubica la VM.

REST

Para habilitar pantallas virtuales en una VM existente, realiza una solicitud POST al método instances.updateDisplayDevice. En el cuerpo de la solicitud, incluye el campo enableDisplay y configúralo como true.

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

{
  "enableDisplay": true
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto en el que se encuentra la VM.

  • ZONE: la zona donde se ubica la VM.

  • VM_NAME: el nombre de la VM.

Inhabilita pantallas virtuales en una VM existente

Antes de inhabilitar las pantallas virtuales en una VM, asegúrate de detenerla.

Para inhabilitar las pantallas virtuales en una VM existente, selecciona una de las siguientes opciones:

Console

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

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

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

  3. Haz clic en  Editar.

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

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

  5. Haz clic en Guardar.

gcloud

Para inhabilitar las pantallas virtuales en una VM existente, usa 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

Reemplaza lo siguiente:

  • VM_NAME: el nombre de la VM.

  • ZONE: la zona donde se ubica la VM.

REST

Para inhabilitar las pantallas virtuales en una VM existente, realiza una solicitud POST al método instances.updateDisplayDevice. En el cuerpo de la solicitud, incluye el campo enableDisplay y configúralo como false.

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

{
  "enableDisplay": false
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto en el que se encuentra la VM.

  • ZONE: la zona donde se ubica la VM.

  • VM_NAME: el nombre de la VM.

Instala el controlador de pantalla virtual

Si habilitaste pantallas virtuales en una VM de Windows que ejecuta una imagen del SO de Windows anterior a la versión v20190312, para usar un dispositivo de pantalla virtual en la VM, debes instalar el controlador de pantalla virtual que proporciona Google Cloud. Si la VM ejecuta una versión más reciente de la imagen del SO, el controlador ya está instalado y puedes omitir esta sección.

Para instalar el controlador de pantalla virtual en una VM con pantallas virtuales habilitadas, haz lo siguiente:

  1. Conéctate a la VM de Windows.

  2. Abre una terminal de PowerShell como administrador.

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

    googet install google-compute-engine-driver-gga
    
  4. Reinicia la VM.

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

Verifica la instalación del controlador de pantalla virtual

Si tuviste que instalar el controlador de pantalla virtual de forma manual en una VM de Windows como se describe en la sección anterior, puedes verificar que la instalación se realizó de forma correcta siguiendo estos pasos:

  1. Si aún no lo hiciste, conéctate a la VM de Windows.

  2. Abre el Administrador de dispositivos.

  3. En la lista Administrador de dispositivos, en la lista Adaptadores de pantalla, asegúrate de que aparezca el controlador del arreglo de gráficos de Google (GGA).

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

¿Qué sigue?