Configure o Ambiente de Trabalho Remoto do Chrome para Linux no Compute Engine

Last reviewed 2025-05-12 UTC

Este tutorial mostra como configurar o serviço Ambiente de Trabalho Remoto do Chrome numa instância de máquina virtual (VM) do Debian Linux no Compute Engine. Para instruções separadas para VMs Windows, consulte o artigo Máquinas virtuais Windows. O Ambiente de Trabalho Remoto do Chrome permite-lhe aceder remotamente a aplicações com uma interface do utilizador gráfica a partir de um computador local ou um dispositivo móvel.

Ao seguir este tutorial, as regras de firewall predefinidas permitem ligações do ambiente de trabalho remoto do Chrome. Não precisa de configurar regras de firewall adicionais. O acesso SSH é necessário apenas para a configuração inicial.

A VM precisa de acesso à Internet (com um endereço IP externo ou através do Cloud NAT) e usa a sua Conta Google para autenticação e autorização.

Este tutorial pressupõe que tem conhecimentos da linha de comandos do Linux e da instalação de pacotes Debian.

Para informações sobre outras opções de criação de estações de trabalho virtuais, consulte Criar uma estação de trabalho virtual.

Objetivos

  • Crie uma instância de VM do Compute Engine sem interface gráfica para executar o Ambiente de Trabalho Remoto do Chrome.
  • Instale e configure o serviço Ambiente de Trabalho Remoto do Chrome na instância de VM.
  • Configure um ambiente de trabalho do sistema de janelas X na instância da VM.
  • Ligue-se do seu computador local ao ambiente de trabalho na instância da VM.

Custos

Este tutorial usa componentes faturáveis do Google Cloud, incluindo:

  • Compute Engine

Use a Calculadora de preços para gerar uma estimativa de custos com base na sua utilização projetada.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.

  9. Make sure that you have the following role or roles on the project: roles/compute.admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Aceder ao IAM
    2. Selecione o projeto.
    3. Clique em Conceder acesso.
    4. No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.

    5. Na lista Selecionar uma função, selecione uma função.
    6. Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
    7. Clique em Guardar.
    8. Utiliza o navegador Google Chrome no seu computador local.

Crie uma instância do Compute Engine

Para os fins deste tutorial, é usado o tipo de máquina predefinido com um disco de arranque do Debian Linux. Se estiver a usar isto para o seu próprio ambiente, recomendamos que ajuste o tipo de máquina, o nome, a região, o tamanho do disco de arranque ou outras definições.

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder a Instâncias de VM

  2. Clique em Criar.

  3. Defina o nome da instância como crdhost.

  4. Clique em Criar.

    A criação da instância demora alguns momentos.

  5. Depois de criar a instância, ligue-se à nova instância clicando em SSH na lista de instâncias:

    Criar uma ligação SSH à instância de VM.

Instale o Ambiente de Trabalho Remoto do Chrome na instância de VM

  1. Na janela SSH da instância de VM, adicione o repositório do Chrome Remote Desktop do Debian Linux à sua lista de pacotes apt e instale o pacote chrome-remote-desktop.

    curl https://dl.google.com/linux/linux_signing_key.pub \
        | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/chrome-remote-desktop.gpg
    echo "deb [arch=amd64] https://dl.google.com/linux/chrome-remote-desktop/deb stable main" \
        | sudo tee /etc/apt/sources.list.d/chrome-remote-desktop.list
    sudo apt-get update
    sudo DEBIAN_FRONTEND=noninteractive \
        apt-get install --assume-yes chrome-remote-desktop
    

    O parâmetro DEBIAN_FRONTEND=noninteractive suprime um comando para configurar um esquema para um teclado que seria ligado diretamente à instância de VM.

Instale um ambiente de trabalho do sistema X Windows

Tem de instalar um ambiente de trabalho do sistema X Window e um gestor de janelas para o Ambiente de Trabalho Remoto do Chrome usar. As opções comuns são:

Pode usar outros ambientes de trabalho, mas o Ambiente de Trabalho Remoto do Chrome não suporta a aceleração de gráficos 3D. Se escolher um ambiente de computador que use a aceleração de gráficos 3D, tem de desativar essa funcionalidade. Caso contrário, o serviço de computador remoto não é iniciado.

Para ligações remotas em redes mais lentas, recomendamos o Xfce porque tem elementos gráficos mínimos e poucas animações.

Xfce

  1. Na janela SSH ligada à instância da VM, instale o ambiente de trabalho Xfce e os componentes básicos do ambiente de trabalho:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes xfce4 desktop-base dbus-x11 xscreensaver
    

    O XScreenSaver é necessário porque o bloqueio de ecrã predefinido do Xfce (Light Locker) não funciona com o Ambiente de Trabalho Remoto do Chrome (o Light Locker apresenta um ecrã em branco que não pode ser desbloqueado).

  2. Configure o Ambiente de Trabalho Remoto do Chrome para usar o Xfce por predefinição:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
    
  3. Como não existe nenhum ecrã ligado à sua instância, desative o serviço de gestão de ecrãs na sua instância:

    sudo systemctl disable lightdm.service
    
  4. Opcional: instale o conjunto completo de aplicações de computador Linux juntamente com o ambiente de trabalho Xfce:

    sudo apt install --assume-yes task-xfce-desktop
    
  5. Opcional: instale o navegador Chrome na sua instância:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Canela

  1. Na janela SSH ligada à instância da VM, instale o ambiente de trabalho Cinnamon e os componentes básicos do ambiente de trabalho:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes cinnamon-core desktop-base dbus-x11
    
  2. Defina a sua sessão do Ambiente de Trabalho Remoto do Chrome para usar o Cinnamon no modo 2D (que não usa a aceleração de gráficos 3D) por predefinição:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/cinnamon-session-cinnamon2d" > /etc/chrome-remote-desktop-session'
    
  3. Opcional: instale o conjunto completo de aplicações de computador Linux juntamente com o ambiente de trabalho Cinnamon:

    sudo apt install --assume-yes task-cinnamon-desktop
    
  4. Opcional: instale o navegador Chrome na sua instância:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Gnomo

  1. Na janela SSH ligada à instância da VM, instale o ambiente de trabalho Gnome completo:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-gnome-desktop
    
  2. Defina a sua sessão do Ambiente de Trabalho Remoto do Chrome para usar o Gnome

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > /etc/chrome-remote-desktop-session'
    
  3. Desative o serviço Gnome Display Manager na sua instância, uma vez que entra em conflito com o serviço Ambiente de Trabalho Remoto do Chrome.

    sudo systemctl disable gdm3.service
    sudo reboot
    

    Este comando reinicia a VM.

  4. Volte a estabelecer ligação através de SSH antes de continuar.

  5. Opcional: instale o navegador Chrome na sua instância:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Gnome-Classic

  1. Na janela SSH ligada à instância da VM, instale o ambiente de trabalho Gnome completo:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-gnome-desktop
    

    O parâmetro DEBIAN_FRONTEND=noninteractive suprime um comando para configurar um esquema para um teclado que seria ligado diretamente à instância de VM.

  2. Defina a sua sessão do Ambiente de Trabalho Remoto do Chrome para usar o ambiente de trabalho Gnome-Classic:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session-classic" > /etc/chrome-remote-desktop-session'
    
  3. Desative o serviço Gnome Display Manager na sua instância, uma vez que entra em conflito com o serviço Ambiente de Trabalho Remoto do Chrome.

    sudo systemctl disable gdm3.service
    sudo reboot
    

    Este comando reinicia a VM.

  4. Volte a estabelecer ligação através de SSH antes de continuar.

  5. Opcional: instale o navegador Chrome na sua instância:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

KDE Plasma

  1. Na janela SSH ligada à instância da VM, instale o ambiente de trabalho completo do KDE Plasma:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-kde-desktop
    

    O parâmetro DEBIAN_FRONTEND=noninteractive suprime um comando para configurar um esquema para um teclado que seria ligado diretamente à instância de VM.

  2. Defina a sua sessão do Ambiente de Trabalho Remoto do Chrome para usar o KDE Plasma

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/startplasma-x11" > /etc/chrome-remote-desktop-session'
    
  3. Opcional: instale o navegador Chrome na sua instância:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Configure e inicie o serviço Ambiente de Trabalho Remoto do Chrome

Para iniciar o servidor de ambiente de trabalho remoto, tem de ter uma chave de autorização para a Conta Google que quer usar para estabelecer ligação ao mesmo:

  1. Na Google Cloud consola, aceda à página Instâncias de VM:

    Aceda à página Instâncias de VM

  2. Clique no botão SSH para se ligar à instância.

  3. No seu computador local, através do navegador Chrome, aceda à página de configuração da linha de comandos do Ambiente de Trabalho Remoto do Chrome:

    https://remotedesktop.google.com/headless

  4. Se ainda não tiver sessão iniciada, inicie sessão com uma Conta Google. Esta é a conta que vai ser usada para autorizar o acesso remoto.

  5. Na página Configure outro computador, clique em Começar.

  6. Clique em Autorizar.

    Tem de permitir que o Ambiente de Trabalho Remoto do Chrome aceda à sua conta. Se aprovar, a página apresenta uma linha de comandos para o Debian Linux semelhante à seguinte:

    DISPLAY= /opt/google/chrome-remote-desktop/start-host \
        --code="4/xxxxxxxxxxxxxxxxxxxxxxxx" \
        --redirect-url="https://remotedesktop.google.com/_/oauthredirect" \
        --name=$(hostname)
    

    Use este comando para configurar e iniciar o serviço do Ambiente de Trabalho Remoto do Chrome na instância da VM, associando-o à sua Conta Google através do código de autorização.

  7. Copie o comando para a janela SSH que está ligada à sua instância e, em seguida, execute o comando.

  8. Quando lhe for pedido, introduza um PIN de 6 dígitos. Este número vai ser usado para autorização adicional quando estabelecer ligação mais tarde.

    Pode ver erros como No net_fetcher ou Failed to read. Pode ignorar estes erros.

  9. Verifique se o serviço está em execução através do seguinte comando.

    sudo systemctl status chrome-remote-desktop@$USER
    

    Se o serviço estiver em execução, é apresentado um resultado que inclui o estado active:

    chrome-remote-desktop.service - LSB: Chrome Remote Desktop service
        Loaded: loaded (/lib/systemd/system/chrome-remote-desktop@USER.service; enabled; vendor preset: enabled)
        Active: active (running) since DATE_TIME; ELAPSED_TIME
    

Estabeleça ligação à instância de VM

Pode estabelecer ligação à instância de VM através da aplicação Web do Ambiente de Trabalho Remoto do Chrome.

  1. No computador local, aceda ao Website do Ambiente de Trabalho Remoto do Chrome.

  2. Clique em Aceder ao meu computador.

  3. Se ainda não tiver sessão iniciada no Google, inicie sessão com a mesma Conta Google que usou para configurar o serviço Ambiente de Trabalho Remoto do Chrome.

    Vê a nova instância de VM crdhost na lista Dispositivos remotos.

  4. Clique no nome da instância do ambiente de trabalho remoto.

  5. Quando lhe for pedido, introduza o PIN que criou anteriormente e, de seguida, clique no botão de seta para estabelecer ligação.

    Já tem ligação ao ambiente de trabalho na sua instância remota do Compute Engine.

  6. Se lhe for pedido, permita sempre que a aplicação Ambiente de Trabalho Remoto leia a sua área de transferência e lhe permita copiar e colar entre aplicações locais e remotas.

  7. Se instalou o ambiente de trabalho Xfce, da primeira vez que se liga, é-lhe pedido que configure os painéis do ambiente de trabalho. Clique em Usar configuração predefinida para ter a barra de tarefas padrão na parte superior e o painel de início rápido na parte inferior.

Ambiente de trabalho xfce a mostrar a barra de tarefas e o painel de início rápido.

Melhore a experiência do ambiente de trabalho remoto

Esta secção fornece instruções para alterar as definições de forma a melhorar a experiência do ambiente de trabalho remoto.

Instale a app Chrome Ambiente de Trabalho Remoto

A app Chrome Ambiente de Trabalho Remoto oferece uma experiência em janelas separadas e permite que os atalhos de teclado que seriam normalmente intercetados pelo Chrome sejam usados no sistema remoto.

Se esta app não estiver instalada, faça o seguinte:

  1. Abra o painel Opções de sessão através do botão que é apresentado quando move o rato para o lado da janela.
  2. Na secção Instalar app, clique em Começar.
  3. Clique em Instalar.

A sessão de ambiente de trabalho remoto é reaberta na respetiva janela da aplicação.

Pode mover quaisquer sessões de ambiente de trabalho remoto de um separador do Chrome para a janela da app clicando no ícone Abrir com na barra de endereço.

Desative animações e efeitos no Cinnamon

O ambiente de trabalho Cinnamon usa várias funcionalidades gráficas e animações, como janelas semitransparentes e menus que aparecem e desaparecem gradualmente. Uma vez que estas animações demoram mais tempo a renderizar através de uma ligação remota, podem fazer com que a interface do utilizador pareça lenta.

Para desativar estes efeitos:

  1. No ambiente de trabalho Cinnamon, selecione Menu > Preferências > Efeitos.

    Definir preferências do ambiente de trabalho no Cinnamon.

  2. Desative cada um dos efeitos:

    Desativar efeitos de animação no Cinnamon.

Defina uma palavra-passe do utilizador

A conta de utilizador criada pelo Compute Engine não tem uma palavra-passe. No entanto, vários ambientes de trabalho requerem uma para desbloquear protetores de ecrã e autorizar ações administrativas. Como tal, é importante definir uma palavra-passe para o utilizador:

  1. Ligue-se à instância através de SSH, tal como fez quando configurou a instância pela primeira vez.
  2. Crie uma palavra-passe para o utilizador:

    sudo passwd $(whoami)
    

Desative as proteções de ecrã e os ecrãs de bloqueio

Uma vez que está a aceder ao seu ambiente de trabalho a partir de um computador remoto, normalmente não é necessário usar um protetor de ecrã ou um bloqueio de ecrã, pelo que pode desativá-los.

Xfce

  1. No menu Aplicações, selecione Definições > Proteção de ecrã.
  2. Defina o Modo como Desativar proteção de ecrã.

Canela

  1. No computador, selecione Menu > Preferências > Proteção de ecrã.
  2. No separador Definições, defina Atraso como Nunca e desative as duas definições de bloqueio seguintes para bloquear o ecrã automaticamente.

Gnomo

  1. No computador, clique em Atividades e escreva Settings.
  2. Selecione a aplicação Definições.
  3. Na aplicação Definições, selecione Privacidade > Bloqueio de ecrã.
  4. Desative o Bloqueio de ecrã automático e feche a caixa de diálogo.
  5. Selecione Dispositivos > Teclado.
  6. Na lista de atalhos de teclado, aceda à secção Sistema e, de seguida, clique em Bloquear ecrã.
  7. Prima a tecla Backspace para desativar o atalho e, de seguida, clique em Definir.
  8. Selecione Alimentação e defina Ecrã em branco como Nunca.

Gnome-Classic

  1. No ambiente de trabalho, selecione Aplicações > Ferramentas do sistema > Definições.
  2. Na aplicação Definições, selecione Privacidade > Bloqueio de ecrã.
  3. Desative o Bloqueio de ecrã automático e feche a caixa de diálogo.
  4. Selecione Dispositivos > Teclado.
  5. Na lista de atalhos de teclado, aceda à secção Sistema e clique em Bloquear ecrã.
  6. Prima a tecla Backspace para desativar o atalho e, de seguida, clique em Definir.
  7. Selecione Alimentação e defina Ecrã em branco como Nunca.

KDE Plasma

  1. No computador, clique no botão do menu KDE e, de seguida, escreva Screen Locking.
  2. Selecione a aplicação Bloqueio de ecrã.
  3. Na aplicação Configurar bloqueio de ecrã, desative a opção Bloquear ecrã automaticamente após e clique no botão para limpar o atalho de teclado.
  4. Clique em OK.

Aumentar a resolução do computador

Se tiver um monitor de resolução ultra elevada, pode considerar que o tamanho máximo predefinido do ambiente de trabalho remoto de 1600 x 1200 é demasiado pequeno. Se for esse o caso, pode aumentá-la para a resolução do seu monitor.

  1. Use o SSH para se ligar à instância.
  2. Defina a variável de ambiente CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES para incluir a resolução do monitor:

    echo "export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1600x1200,3840x2560" \
        >> ~/.profile
    
  3. Reinicie o serviço:

    sudo systemctl restart chrome-remote-desktop@$USER
    

Ativar codec de vídeo avançado:

O codec AV1 com cor de alta qualidade oferece uma qualidade de imagem melhorada e permite uma melhor codificação de informações de cores puras (como texto):

  1. Abra o painel Opções de sessão através do botão que é apresentado quando move o rato para o lado da janela.
  2. No campo Codec de vídeo, selecione AV1
  3. Certifique-se de que o campo Cor de alta qualidade está ativado.

Escolha um ambiente de trabalho diferente

Na secção anterior, definiu um ambiente de trabalho predefinido no ficheiro de configuração /etc/chrome-remote-desktop-sessionglobal. Também pode escolher um ambiente de trabalho diferente (se estiver instalado) especificando-o no ficheiro de configuração .chrome-remote-desktop-session no seu diretório inicial:

Xfce

echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > ~/.chrome-remote-desktop-session

Canela

echo "exec /etc/X11/Xsession /usr/bin/cinnamon-session-cinnamon2d" > ~/.chrome-remote-desktop-session

Gnomo

echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > ~/.chrome-remote-desktop-session

Gnome-Classic

echo "exec /etc/X11/Xsession /usr/bin/gnome-session-classic" > ~/.chrome-remote-desktop-session

KDE Plasma

echo "exec /etc/X11/Xsession /usr/bin/startplasma-x11" > ~/.chrome-remote-desktop-session

Depois de fazer esta alteração, reinicie o serviço para que a alteração entre em vigor:

sudo systemctl restart chrome-remote-desktop@$USER

Como mencionado anteriormente, o Ambiente de Trabalho Remoto do Chrome não suporta a aceleração de gráficos 3D. Por conseguinte, para todos os ambientes de computador que usam estas funcionalidades, tem de desativar os gráficos 3D. Caso contrário, a sessão não é iniciada.

Automatize o processo de instalação

Quando precisa de configurar vários computadores com o Ambiente de Trabalho Remoto do Chrome, os passos de instalação manual podem tornar-se repetitivos. Pode usar um script de arranque personalizado para automatizar este processo através do seguinte procedimento.

Para os fins deste tutorial, é usado o tipo de máquina predefinido com um disco de arranque do Debian Linux. Se estiver a usar isto para o seu próprio ambiente, é recomendável ajustar o tipo de máquina, o nome, a região, o tamanho do disco de arranque ou outras definições.

  1. Na Google Cloud consola, aceda à página Instâncias de VM:

    Aceda à página Instâncias de VM

  2. Clique em Criar instância.

  3. Defina o nome da instância como crdhost-autoinstall.

  4. Desloque a página para baixo e expanda a secção Opções avançadas.

  5. Expanda a secção Gestão.

  6. Copie o seguinte script de shell e cole-o no campo Automatização/Script de início:

    #!/bin/bash -x
    #
    # Startup script to install Chrome remote desktop and a desktop environment.
    #
    # See environmental variables at then end of the script for configuration
    #
    
    function install_desktop_env {
      PACKAGES="desktop-base xscreensaver dbus-x11"
    
      if [[ "$INSTALL_XFCE" != "yes" && "$INSTALL_CINNAMON" != "yes" ]] ; then
        # neither XFCE nor cinnamon specified; install both
        INSTALL_XFCE=yes
        INSTALL_CINNAMON=yes
      fi
    
      if [[ "$INSTALL_XFCE" = "yes" ]] ; then
        PACKAGES="$PACKAGES xfce4"
        echo "exec xfce4-session" > /etc/chrome-remote-desktop-session
        [[ "$INSTALL_FULL_DESKTOP" = "yes" ]] && \
          PACKAGES="$PACKAGES task-xfce-desktop"
      fi
    
      if [[ "$INSTALL_CINNAMON" = "yes" ]] ; then
        PACKAGES="$PACKAGES cinnamon-core"
        echo "exec cinnamon-session-cinnamon2d" > /etc/chrome-remote-desktop-session
        [[ "$INSTALL_FULL_DESKTOP" = "yes" ]] && \
          PACKAGES="$PACKAGES task-cinnamon-desktop"
      fi
    
      DEBIAN_FRONTEND=noninteractive \
        apt-get install --assume-yes $PACKAGES $EXTRA_PACKAGES
    
      systemctl disable lightdm.service
    }
    
    function download_and_install { # args URL FILENAME
      if [[ -e "$2" ]] ; then
         echo "cannot download $1 to $2 - file exists"
         return 1;
      fi
      curl -L -o "$2" "$1" && \
        apt-get install --assume-yes --fix-broken "$2" && \
        rm "$2"
    }
    
    function is_installed {  # args PACKAGE_NAME
      dpkg-query --list "$1" | grep -q "^ii" 2>/dev/null
      return $?
    }
    
    # Configure the following environmental variables as required:
    INSTALL_XFCE=yes
    INSTALL_CINNAMON=yes
    INSTALL_CHROME=yes
    INSTALL_FULL_DESKTOP=yes
    
    # Any additional packages that should be installed on startup can be added here
    EXTRA_PACKAGES="less bzip2 zip unzip tasksel wget"
    
    apt-get update
    
    if ! is_installed chrome-remote-desktop; then
        if [[ ! -e /etc/apt/sources.list.d/chrome-remote-desktop.list ]]; then
            echo "deb [arch=amd64] https://dl.google.com/linux/chrome-remote-desktop/deb stable main" \
                | tee -a /etc/apt/sources.list.d/chrome-remote-desktop.list
        fi
        apt-get update
        DEBIAN_FRONTEND=noninteractive \
            apt-get install --assume-yes chrome-remote-desktop
    fi
    
    install_desktop_env
    
    [[ "$INSTALL_CHROME" = "yes" ]] && ! is_installed google-chrome-stable && \
      download_and_install \
        https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
        /tmp/google-chrome-stable_current_amd64.deb
    
    echo "Chrome remote desktop installation completed"
    

    Este script executa as seguintes tarefas sempre que a máquina é reiniciada:

    • Se o pacote de ambiente de trabalho remoto não estiver instalado:
      • Adiciona o repositório de pacotes Debian do Ambiente de Trabalho Remoto do Chrome
      • Instala o pacote e as dependências do Ambiente de Trabalho Remoto do Chrome.
    • Instala os ambientes de trabalho Xfce ou Cinnamon (consoante as definições do script).
    • Se a opção de ambiente de trabalho completo estiver ativada, instala os pacotes necessários.
    • Se a opção do navegador Google Chrome estiver ativada e não estiver instalada:
      • Transfere o pacote do Google Chrome.
      • Instala o Google Chrome e os respetivos pacotes dependentes.
  7. Clique em Criar.

    A criação da instância demora alguns momentos e, na primeira execução com todas as opções ativadas, o script pode demorar até 10 minutos a concluir a instalação.

  8. Para monitorizar o progresso, ligue-se à instância de VM através de SSH e, no terminal da instância, execute o seguinte comando:

    sudo journalctl -o cat -f _SYSTEMD_UNIT=google-startup-scripts.service
    

    Este comando mostra o resultado do script de arranque. Quando o script terminar, vê o seguinte:

    INFO startup-script: Chrome remote desktop installation completed
    INFO startup-script: Return code 0.
    INFO Finished running startup scripts.
    

Este script apenas instala os pacotes necessários. Continua a ter de configurar o serviço de ambiente de trabalho remoto para o seu utilizador, conforme descrito anteriormente.

Existem várias formas de especificar um script de arranque quando cria uma nova instância de VM:

  • Colando-o na Google Cloud consola (conforme mostrado anteriormente).
  • Armazená-lo como um ficheiro numa máquina local e usar a flag --metadata-from-file quando criar a instância através da CLI Google Cloud.
  • Armazená-lo num contentor do Cloud Storage e especificar o URL do objeto, quer na consola, quer na CLI gcloud.

Para mais informações sobre os métodos alternativos de configuração do script de arranque, consulte o artigo Executar scripts de arranque na documentação do Compute Engine.

Resolução de problemas

Esta secção fornece sugestões de resolução de problemas para este guia.

Verifique o estado do serviço Ambiente de Trabalho Remoto do Chrome

Se, em qualquer altura, o serviço Ambiente de Trabalho Remoto do Chrome não estiver a responder, pode verificar o respetivo estado através do SSH para estabelecer ligação à instância e executar o seguinte comando:

sudo systemctl status chrome-remote-desktop@$USER

Se o serviço estiver em execução, é apresentado um resultado que inclui o estado active:

chrome-remote-desktop.service - LSB: Chrome Remote Desktop service
    Loaded: loaded (/lib/systemd/system/chrome-remote-desktop@USER.service; enabled; vendor preset: enabled)
    Active: active (running) since DATE_TIME; ELAPSED_TIME

Para reiniciar o serviço, use o seguinte comando na janela SSH:

sudo systemctl restart chrome-remote-desktop@$USER

Obtenha informações de registo e erros

O Ambiente de Trabalho Remoto do Chrome escreve informações de registo no jornal do sistema:

journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop     # All logs
journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop -e  # Most recent logs
journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop -b  # Logs since reboot

Pode verificar estes ficheiros de registo para ver mensagens de erro.

Reative o serviço

Se desativou por engano as ligações à instância remota na app cliente, pode reconfigurar o serviço e reativá-lo seguindo as instruções em Configure e inicie o serviço Ambiente de Trabalho Remoto do Chrome.

Verifique os ficheiros de configuração de sessão globais e específicos do utilizador.

Verifique o conteúdo do ficheiro de configuração global /etc/chrome-remote-desktop-session e do ficheiro de configuração específico do utilizador ~/.chrome-remote-desktop-session e confirme que os ambientes de trabalho especificados estão instalados.

Limpar

Para evitar incorrer em custos na sua conta do Google Cloud pelos recursos usados neste tutorial, elimine o projeto que contém os recursos ou mantenha o projeto e elimine os recursos individuais.

Elimine o projeto

A forma mais fácil de eliminar a faturação é eliminar o projeto que criou para o tutorial.

Para eliminar o projeto:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Elimine a instância do Compute Engine

Em alternativa à eliminação de todo o projeto, pode eliminar a instância de VM que criou para este tutorial:

  1. Na Google Cloud consola, aceda à página Instâncias de VM:

    Aceda à página Instâncias de VM

  2. Selecione a caixa de verificação junto ao nome da instância que criou anteriormente (crdhost).

  3. Clique no botão Eliminar na parte superior da página:

    Eliminar a instância de VM.

    A eliminação da instância demora alguns momentos.

Anule a autorização do Ambiente de Trabalho Remoto do Chrome para a instância

Se já não quiser estabelecer ligação à instância de VM, pode desativá-la e remover a instância da lista Dispositivos remotos.

  1. No seu computador local, aceda ao Website da lista de dispositivos remotos do Ambiente de Trabalho Remoto do Chrome.
  2. Clique em junto ao nome da instância crdhost.
  3. Clique em OK para confirmar que a ligação ao dispositivo remoto deve ser desativada.

O que se segue?