Como configurar a Área de trabalho remota do Google Chrome para Linux no Compute Engine

Last reviewed 2022-11-16 UTC

Este tutorial mostra como configurar o serviço de Área de trabalho remota do Google Chrome em uma instância de máquina virtual (VM, na sigla em inglês) do Debian Linux no Compute Engine. Consulte instruções separadas para VMs do Windows em Máquinas virtuais do Windows. A Área de trabalho remota do Google Chrome permite que você acesse aplicativos remotamente com uma interface gráfica do usuário de um computador local ou dispositivo móvel.

Como as regras de firewall padrão permitem conexões da Área de trabalho remota do Google Chrome durante este tutorial, não é necessário configurar nenhuma regra de firewall adicional. O acesso SSH é necessário apenas para a configuração inicial.

A VM precisa de acesso à Internet (com um endereço IP externo ou por meio de um Cloud NAT) e você deve usar sua Conta do Google para autenticação e autorização.

Este tutorial supõe que você esteja familiarizado com a linha de comando do Linux e com a instalação de pacotes Debian.

Para informações sobre outras opções para criar estações de trabalho virtuais, consulte Como criar uma estação de trabalho virtual.

Objetivos

  • Criar uma instância de VM sem comando do Compute Engine para executar a Área de trabalho remota do Google Chrome.
  • Instalar e configurar o serviço da Área de trabalho remota do Google Chrome na instância da VM.
  • Configurar um ambiente de área de trabalho do X Window System na instância de VM.
  • Conectar-se do computador local ao ambiente de área de trabalho na instância de VM.

Custos

Neste tutorial, há componentes faturáveis do Google Cloud, entre eles:

  • Compute Engine

Use a calculadora de preços para gerar uma estimativa de custo com base no uso previsto.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative a API Compute Engine.

    Ative a API

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  7. Ative a API Compute Engine.

    Ative a API

  8. Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.

  9. Verifique se você tem os seguintes papéis no projeto: roles/compute.admin

    Verificar os papéis

    1. No console do Google Cloud, abra a página IAM.

      Acessar IAM
    2. Selecionar um projeto.
    3. Na coluna Principal, encontre a linha que contém seu endereço de e-mail.

      Caso seu endereço de e-mail não esteja nessa coluna, isso significa que você não tem papéis.

    4. Na coluna Papel da linha com seu endereço de e-mail, verifique se a lista de papéis inclui os papéis necessários.

    Conceder os papéis

    1. No console do Google Cloud, abra a página IAM.

      Acesse o IAM
    2. Selecionar um projeto.
    3. Clique em CONCEDER ACESSO.
    4. No campo Novos participantes, digite seu endereço de e-mail.
    5. Na lista Selecionar um papel, escolha um.
    6. Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
    7. Clique em Save.
  10. Você usa o navegador Google Chrome na sua máquina local.

Crie uma instância do Compute Engine

Para os fins deste tutorial, é usado o tipo de máquina padrão com um disco de inicialização do Linux para Debian. No caso do seu próprio ambiente, é possível ajustar o tipo de máquina, o nome, a região, o tamanho do disco de inicialização ou outras configurações.

  1. No Console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar 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 leva alguns instantes.

  5. Após a criação da instância, conecte-se a ela clicando em SSH na lista de instâncias:

    Criação de uma conexão SSH com a instância da VM.

Como instalar a Área de trabalho remota do Google Chrome em uma instância de VM

  1. Na janela SSH da instância de VM, adicione o repositório de Área de trabalho remota do Google Chrome para Debian Linux à 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 prompt para configurar um layout de um teclado que seria conectado diretamente à instância de VM.

Como instalar um ambiente de área de trabalho do X Windows System

Você precisa instalar um ambiente de área de trabalho do X Window System e um gerenciador de janelas para usar a Área de trabalho remota do Google Chrome. Veja a seguir as opções comuns (links em inglês):

É possível usar outros ambientes de área de trabalho, mas a Área de trabalho remota do Google Chrome não oferece suporte à aceleração de gráficos 3D. Se você escolher um ambiente de área de trabalho que use aceleração de gráficos 3D, será necessário desativar esse recurso ou o serviço de área de trabalho remota não será iniciado.

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

Xfce

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

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

    O XScreenSaver é necessário porque o bloqueio de tela padrão do Xfce (Light Locker) não funciona com a Área de trabalho remota do Google Chrome. O Light Locker exibe uma tela em branco que não pode ser desbloqueada.

  2. Configure a Área de trabalho remota do Google Chrome para usar o Xfce por padrão:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
    
  3. Como não há nenhuma tela conectada à instância, desative o serviço do gerenciador de exibição na instância:

    sudo systemctl disable lightdm.service
    
  4. Opcional: instale o pacote completo de aplicativos de área de trabalho Linux, incluindo o navegador Firefox, o pacote de aplicativos de escritório do LibreOffice e o visualizador de PDF Evince:

    sudo apt install --assume-yes task-xfce-desktop
    
  5. Como opção, instale o navegador Chrome na 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
    

Cinnamon

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

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes cinnamon-core desktop-base dbus-x11
    
  2. Configure a sessão da Área de trabalho remota do Google Chrome para usar o Cinnamon no modo 2D por padrão, que não usa aceleração de gráficos 3D:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/cinnamon-session-cinnamon2d" > /etc/chrome-remote-desktop-session'
    
  3. Como opção, instale o pacote completo de aplicativos de área de trabalho Linux, incluindo o navegador Firefox, o pacote de aplicativos de escritório LibreOffice e o leitor de PDF Evince:

    sudo apt install --assume-yes task-cinnamon-desktop
    
  4. Como opção, instale o navegador Chrome na 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

  1. Na janela SSH conectada à instância de VM, instale o ambiente de área de trabalho completo do Gnome, incluindo o navegador Firefox, o pacote de aplicativos de escritório do LibreOffice e o visualizador de PDF Evince:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-gnome-desktop
    
  2. Configure a sessão da Área de trabalho remota do Google 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 do gerenciador de exibição Gnome na sua instância porque ele entra em conflito com o serviço da Área de trabalho remota do Google Chrome.

    sudo systemctl disable gdm3.service
    sudo reboot
    

    Esse comando reinicia a VM.

  4. Reconecte-se pelo SSH antes de continuar.

  5. Como opção, instale o navegador Chrome na 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 conectada à instância de VM, instale o ambiente de área de trabalho completo do Gnome, incluindo o navegador Firefox, o pacote de aplicativos de escritório do LibreOffice e o visualizador de PDF Evince:

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

    O parâmetro DEBIAN_FRONTEND=noninteractive suprime um prompt para configurar um layout de um teclado que seria conectado diretamente à instância de VM.

  2. Configure a sessão da Área de trabalho remota do Google Chrome para usar a área 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 do gerenciador de exibição Gnome na sua instância porque ele entra em conflito com o serviço da Área de trabalho remota do Google Chrome.

    sudo systemctl disable gdm3.service
    sudo reboot
    

    Esse comando reinicia a VM.

  4. Reconecte-se pelo SSH antes de continuar.

  5. Como opção, instale o navegador Chrome na 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 conectada à instância de VM, instale o ambiente de área de trabalho completo do KDE Plasma, incluindo o navegador Firefox, o pacote de aplicativos de escritório do LibreOffice e o visualizador de PDF Evince:

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

    O parâmetro DEBIAN_FRONTEND=noninteractive suprime um prompt para configurar um layout de um teclado que seria conectado diretamente à instância de VM.

  2. Configure a sessão da Área de trabalho remota do Google Chrome para usar o KDE Plasma

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/startplasma-x11" > /etc/chrome-remote-desktop-session'
    
  3. Como opção, instale o navegador Chrome na 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
    

Configurar e iniciar o serviço da Área de trabalho remota do Google Chrome

Para iniciar o servidor de área de trabalho remota, você precisa ter uma chave de autorização para a Conta do Google. Você usará essa conta para se conectar ao servidor:

  1. No Console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar a página Instâncias de VM

  2. Conecte-se à instância clicando no botão SSH.

  3. No computador local, usando o navegador Chrome, acesse a página de configuração de linha de comando da Área de trabalho remota do Google Chrome:

    https://remotedesktop.google.com/headless

  4. Se você ainda não estiver conectado, faça login com uma Conta do Google. Essa é a conta que será usada para autorizar o acesso remoto.

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

  6. Clique em Autorizar.

    Você precisa permitir que a Área de trabalho remota do Google Chrome acesse sua conta. Se você aprovar, a página exibirá uma linha de comando para o Debian Linux parecida com esta:

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

    Use esse comando para configurar e iniciar o serviço da Área de trabalho remota do Google Chrome na instância da VM, vinculando-o à sua Conta do Google usando o código de autorização.

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

  8. Quando solicitado, digite um PIN de 6 dígitos. Esse número será usado para autorização extra quando você se conectar mais tarde.

    Talvez você veja erros como No net_fetcher ou Failed to read. Eles podem ser ignorados.

  9. Verifique se o serviço está sendo executado usando o comando a seguir.

    sudo systemctl status chrome-remote-desktop@$USER
    

    Se o serviço estiver em execução, você verá a saída 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
    

Conectar-se à instância de VM

Para se conectar à instância da VM, use o aplicativo da Web da Área de trabalho remota do Google Chrome.

  1. No seu computador local, acesse o site Área de trabalho remota do Google Chrome (em inglês).

  2. Clique em Acessar meu computador.

  3. Se você ainda não estiver conectado ao Google, faça login com a mesma Conta do Google usada para configurar o serviço Área de trabalho remota do Google Chrome.

    A nova instância de VM crdhost vai ser exibida na lista Dispositivos remotos.

  4. Clique no nome da instância da área de trabalho remota.

  5. Quando solicitado, digite o PIN que você criou anteriormente e conecte-se clicando no botão de seta para baixo.

    Agora você está conectado ao ambiente de área de trabalho na instância remota do Compute Engine.

  6. Se solicitado, sempre permita que o aplicativo da Área de trabalho remota leia a área de transferência e autorize a ação de copiar e colar entre aplicativos locais e remotos.

  7. Se você tiver instalado a área de trabalho do Xfce, na primeira vez que se conectar, você será solicitado a configurar os painéis da área de trabalho. Clique em Usar configuração padrão para ver a barra de tarefas padrão na parte superior e o painel de inicialização rápida na parte inferior.

Área de trabalho do Xfce com a barra de tarefas e o painel de inicialização rápida.

Melhorar a experiência da Área de trabalho remota

Nesta seção, apresentamos instruções para alterar as configurações a fim de melhorar a experiência da área de trabalho remota.

Instalar o app Área de trabalho remota do Google Chrome

O app da Área de trabalho remota do Google Chrome oferece uma experiência de janela separada e permite que atalhos de teclado que normalmente seriam interceptados pelo Chrome sejam usados no sistema remoto.

Se esse app não estiver instalado, faça o seguinte:

  1. Abra o painel Opções da sessão usando o botão que aparece quando você move o mouse para o lado da janela.
  2. Na seção Instalar aplicativo, clique em Iniciar.
  3. Clique em Instalar.

A sessão da área de trabalho remota é aberta novamente na janela do aplicativo.

É possível mover qualquer sessão da área de trabalho remota de uma guia do Chrome para a janela do app clicando no ícone Abrir com na barra de endereço.

Desativar animações e efeitos no Cinnamon

A área de trabalho do Cinnamon usa vários recursos gráficos e animações, como menus e janelas semitransparentes que aparecem e desaparecem gradualmente. Como essas animações levam mais tempo para serem renderizadas em uma conexão remota, isso pode fazer a interface do usuário parecer lenta.

Para desativar esses efeitos:

  1. Na área de trabalho do Cinnamon, selecione Menu > Preferences > Effects.

    Como definir as preferências da área de trabalho no Cinnamon.

  2. Desative cada um dos efeitos:

    Como desativar os efeitos de animação no Cinnamon.

Definir uma senha de usuário

A conta de usuário criada pelo Compute Engine não tem uma senha. No entanto, vários ambientes de área de trabalho exigem uma senha para desbloquear protetores de tela e autorizar ações administrativas. Portanto, é importante definir uma senha para o seu usuário:

  1. Conecte-se à instância usando SSH, como você fez quando configurou a instância pela primeira vez.
  2. Crie uma senha para o usuário:

    sudo passwd $(whoami)
    

Desativar protetores de tela e telas de bloqueio

Como você está acessando a área de trabalho de um computador remoto, normalmente não é necessário usar um protetor de tela ou um bloqueador de tela. Portanto, é possível desativá-los.

Xfce

  1. No menu Applications, selecione Settings > Screensaver.
  2. Defina Mode como Disable Screen Saver.

Cinnamon

  1. Na área de trabalho, selecione Menu > Preferências > Protetor de tela.
  2. Na guia Settings, defina Delay como Never e desative as duas configurações de bloqueio a seguir para bloquear a tela automaticamente.

Gnome

  1. Na área de trabalho, clique em Activities e digite Settings.
  2. Selecione o aplicativo Settings.
  3. No aplicativo Settings, selecione Privacy > Screen Lock.
  4. Desative Automatic Screen Lock e feche a caixa de diálogo.
  5. Selecione Devices > Keyboard.
  6. Na lista de atalhos de teclado, acesse a seção Sistema e clique em Tela de bloqueio.
  7. Pressione a tecla Backspace para desativar o atalho e clique em Set.
  8. Selecione Power e defina Blank Screen como Never.

Gnome Classic

  1. Na área de trabalho, selecione Applications > System Tools > Settings.
  2. No aplicativo Settings, selecione Privacy > Screen Lock.
  3. Desative Automatic Screen Lock e feche a caixa de diálogo.
  4. Selecione Devices > Keyboard.
  5. Na lista de atalhos do teclado, acesse a seção Sistema e clique em Tela de bloqueio.
  6. Pressione a tecla Backspace para desativar o atalho e clique em Set.
  7. Selecione Power e defina Blank Screen como Never.

KDE Plasma

  1. Na área de trabalho, clique no botão do menu do KDE e digite Screen Locking.
  2. Selecione o aplicativo Screen Locking.
  3. No aplicativo Configure Screen Locking, desative Lock Screen Automatically after e clique no botão para limpar o atalho do teclado.
  4. Clique em OK.

Aumentar a resolução da área de trabalho

Se você tiver um monitor de resolução ultra-alta, poderá achar que o tamanho máximo da área de trabalho remota padrão de 1600 x 1200 é muito pequeno. Se esse for o caso, é possível aumentá-lo para a resolução do seu monitor.

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

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

    sudo systemctl restart chrome-remote-desktop@$USER
    

Ative o codec de vídeo avançado:

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

  1. Abra o painel Opções da sessão usando o botão que aparece quando você move o mouse para o lado da janela.
  2. No campo Codec de vídeo, selecione AV1.
  3. Verifique se o campo Alta qualidade de cor está ativado.

Escolha um ambiente diferente da área de trabalho

Na seção anterior, você definiu um ambiente padrão de área de trabalho no arquivo de configuração global /etc/chrome-remote-desktop-session. Também é possível escolher um ambiente de área de trabalho diferente (se estiver instalado) especificando-o no arquivo de configuração .chrome-remote-desktop-session no diretório principal:

Xfce

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

Cinnamon

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

Gnome

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 essa alteração, reinicie o serviço para que a alteração entre em vigor:

sudo systemctl restart chrome-remote-desktop@$USER

Como mencionado anteriormente, a Área de trabalho remota do Google Chrome não é compatível com a aceleração de gráficos 3D. Portanto, para qualquer ambiente de computador que use esses recursos, será necessário desativar os gráficos 3D, ou a sessão não será iniciada.

Automatizar o processo de instalação

Quando você precisa configurar várias máquinas com a Área de trabalho remota do Google Chrome, as etapas de instalação manual podem se tornar repetitivas. Use um script de inicialização personalizado para automatizar esse processo por meio do procedimento a seguir.

Para os fins deste tutorial, é usado o tipo de máquina padrão com um disco de inicialização do Linux para Debian. No caso do seu próprio ambiente, é possível ajustar o tipo de máquina, o nome, a região, o tamanho do disco de inicialização ou outras configurações.

  1. No Console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar a página Instâncias de VM

  2. Clique em Criar instância.

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

  4. Role a tela e expanda a seção Opções avançadas.

  5. Expanda a seção Gerenciamento.

  6. Copie o script de shell a seguir e cole-o no campo Automação/Script de inicialização:

    #!/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"
    

    Esse script executa as seguintes tarefas sempre que a máquina é reinicializada:

    • Se o pacote de área de trabalho remota não estiver instalado:
      • Adiciona o repositório de pacotes Debian da Área de trabalho remota do Google Chrome
      • Instala o pacote e as dependências da Área de trabalho remota do Google Chrome.
    • Instala os ambientes de área de trabalho do Xfce ou Cinnamon, dependendo das configurações de script.
    • Se a opção de ambiente de área de trabalho completa estiver ativada, os pacotes necessários serão instalados.
    • Se a opção do navegador Google Chrome estiver ativada e não estiver instalada:
      • Faz o download do pacote do Google Chrome.
      • Instala o Google Chrome e os pacotes dependentes.
  7. Clique em Criar.

    Leva alguns instantes para criar sua instância e, na primeira execução com todas as opções ativadas, o script pode levar até dez minutos para concluir a instalação.

  8. Para monitorar o progresso, conecte-se à instância de VM usando 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 a saída do script de inicialização. Quando o script for concluído, você verá o seguinte:

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

Esse script apenas instala os pacotes necessários. Você ainda precisa configurar o serviço de área de trabalho remota para o usuário, conforme descrito anteriormente.

Há várias maneiras de especificar um script de inicialização ao criar uma nova instância de VM:

  • Cole-o no console do Google Cloud (conforme mostrado anteriormente).
  • Armazena-lo como um arquivo em uma máquina local e usar a sinalização --metadata-from-file ao criar a instância usando a Google Cloud CLI.
  • Armazene-o em um bucket do Cloud Storage e especifique o URL para o objeto, no console ou na CLI gcloud.

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

Solução de problemas

Esta seção fornece dicas para solução de problemas neste guia.

Verificar o status do serviço de Área de trabalho remota do Google Chrome

Se o serviço Área de trabalho remota do Google Chrome deixar de responder, será possível verificar o status dele usando o SSH para conectar-se à instância e executando o seguinte comando:

sudo systemctl status chrome-remote-desktop@$USER

Se o serviço estiver em execução, você verá a saída 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 do SSH:

sudo systemctl restart chrome-remote-desktop@$USER

Conseguir informações de registro e erro

A Área de trabalho remota do Google Chrome grava informações de registro no diário 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

É possível verificar esses arquivos de registro em busca de mensagens de erro.

Reativar o serviço

Se você tiver desativado por engano as conexões com a instância remota no app cliente, será possível reconfigurar o serviço e reativá-lo seguindo as instruções em Como configurar e iniciar o serviço Área de trabalho remota do Google Chrome.

Verifique os arquivos de configuração de sessão global e específicos do usuário.

Verifique o conteúdo do arquivo de configuração /etc/chrome-remote-desktop-session global e do arquivo de configuração ~/.chrome-remote-desktop-session específico do usuário e confirme se os ambientes de área de trabalho especificados estão instalados.

Limpeza

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.

Exclua o projeto

O jeito mais fácil de evitar cobranças é excluir o projeto que você criou para o tutorial.

Para excluir o projeto:

  1. No Console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

Excluir a instância do Compute Engine

Como alternativa à exclusão de todo o projeto, é possível excluir a instância da VM criada para este tutorial:

  1. No console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar a página Instâncias de VM

  2. Marque a caixa de seleção ao lado do nome da instância que você criou anteriormente (crdhost).

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

    Como excluir a instância da VM.

    A exclusão da instância leva alguns instantes.

Desautorizar a Área de trabalho remota do Google Chrome para a instância

Se você não quiser mais se conectar à instância de VM, desative-a e remova a instância da lista Dispositivos remotos.

  1. No computador local, acesse o site da lista de dispositivos remotos da Área de trabalho remota do Google Chrome.
  2. Clique em ao lado do nome da instância crdhost.
  3. Clique em OK para confirmar se a conexão do dispositivo remoto precisa ser desativada.

A seguir