Configurare Chrome Remote Desktop per Linux su Compute Engine

Last reviewed 2022-11-16 UTC

Questo tutorial mostra come configurare il servizio Chrome Remote Desktop su un'istanza di una macchina virtuale (VM) Debian Linux su Compute Engine. Per istruzioni separate per le VM Windows, consulta Macchine virtuali Windows. Chrome Remote Desktop ti consente di accedere da remoto ad applicazioni con un'interfaccia utente grafica da un computer locale o un dispositivo mobile.

Quando segui questo tutorial, le regole firewall predefinite consentono le connessioni di Chrome Remote Desktop. Non è necessario configurare regole firewall aggiuntive. L'accesso SSH è necessario solo per la configurazione iniziale.

La VM deve avere accesso a internet (con un indirizzo IP esterno o tramite Cloud NAT) e devi utilizzare il tuo Account Google per l'autenticazione e l'autorizzazione.

Questo tutorial presuppone che tu abbia familiarità con la riga di comando Linux e con l'installazione dei pacchetti Debian.

Per informazioni su altre opzioni per la creazione di workstation virtuali, consulta Creare una workstation virtuale.

Obiettivi

  • Crea un'istanza VM di Compute Engine senza interfaccia utente su cui eseguire Chrome Remote Desktop.
  • Installa e configura il servizio Chrome Remote Desktop sull'istanza VM.
  • Configura un ambiente desktop X Window System nell'istanza VM.
  • Connettiti dal tuo computer locale all'ambiente desktop sull'istanza VM.

Costi

Questo tutorial utilizza i componenti fatturabili di Google Cloud, tra cui:

  • Compute Engine

Utilizza il Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.

Prima di iniziare

  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.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Enable the API

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

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Enable the API

  8. Al termine delle attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la sezione Pulizia.

  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 colunn 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.

      Vai a IAM
    2. Seleziona il progetto.
    3. Fai clic su Concedi accesso.
    4. Nel campo Nuove entità, inserisci il tuo identificatore utente. In genere si tratta dell'indirizzo email di un Account Google.

    5. Nell'elenco Seleziona un ruolo, seleziona un ruolo.
    6. Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo aggiuntivo.
    7. Fai clic su Salva.
    8. Utilizzi il browser Google Chrome sulla tua macchina locale.

Crea un'istanza di Compute Engine

Ai fini di questo tutorial, viene utilizzato il tipo di macchina predefinito con un disco di avvio Debian Linux. Se lo utilizzi per il tuo ambiente, ti consigliamo di modificare il tipo di macchina, il nome, la regione, la dimensione del disco di avvio o altre impostazioni.

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic su Crea.

  3. Imposta il nome dell'istanza su crdhost.

  4. Fai clic su Crea.

    La creazione dell'istanza richiede alcuni istanti.

  5. Dopo aver creato l'istanza, connettiti alla nuova facendo clic su SSH nell'elenco delle istanze:

    Creazione di una connessione SSH all'istanza VM.

Installa Chrome Remote Desktop sull'istanza VM

  1. Nella finestra SSH per l'istanza VM, aggiungi il repository di Chrome Remote Desktop per Debian Linux all'elenco dei pacchetti apt e installa il pacchetto 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
    

    Il parametro DEBIAN_FRONTEND=noninteractive elimina la richiesta di configurare un layout per una tastiera collegata direttamente all' istanza VM.

Installare un ambiente desktop X Windows System

Per poter utilizzare Chrome Remote Desktop, devi installare un ambiente desktop e un gestore delle finestre X Window System. Le opzioni più comuni sono:

Puoi utilizzare altri ambienti desktop, ma Chrome Remote Desktop non supporta l'accelerazione grafica 3D. Se scegli un ambiente desktop che utilizza l'accelerazione grafica 3D, devi disattivare questa funzionalità, altrimenti il servizio desktop remoto non verrà avviato.

Per le connessioni remote su reti più lente, consigliamo Xfce perché ha elementi grafici minimi e poche animazioni.

Xfce

  1. Nella finestra SSH connessa all'istanza VM, installa l'ambiente desktop Xfce e i componenti di base del desktop:

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

    XScreenSaver è necessario perché il blocco schermo predefinito di Xfce (Light Locker) non funziona con Chrome Remote Desktop (Light Locker mostra una schermata vuota che non può essere sbloccata).

  2. Configura Chrome Remote Desktop in modo che utilizzi Xfce per impostazione predefinita:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
    
  3. Poiché non è collegato alcun display all'istanza, disattiva il servizio di gestione del display sull'istanza:

    sudo systemctl disable lightdm.service
    
  4. (Facoltativo) Installa la suite completa di applicazioni desktop Linux, tra cui il browser Firefox, la suite di applicazioni per ufficio LibreOffice e il visualizzatore di PDF Evince:

    sudo apt install --assume-yes task-xfce-desktop
    
  5. (Facoltativo) Installa il browser Chrome nell'istanza:

    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
    

Cannella

  1. Nella finestra SSH connessa all'istanza VM, installa l'ambiente desktop Cinnamon e i componenti di base del desktop:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes cinnamon-core desktop-base dbus-x11
    
  2. Per impostazione predefinita, imposta la sessione di Chrome Remote Desktop in modo che utilizzi Cinnamon in modalità 2D (che non utilizza l'accelerazione grafica 3D):

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/cinnamon-session-cinnamon2d" > /etc/chrome-remote-desktop-session'
    
  3. Se vuoi, installa la suite completa di applicazioni desktop Linux, tra cui il browser Firefox, la suite di applicazioni per ufficio LibreOffice e il visualizzatore di PDF Evince:

    sudo apt install --assume-yes task-cinnamon-desktop
    
  4. (Facoltativo) Installa il browser Chrome nell'istanza:

    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. Nella finestra SSH connessa all'istanza VM, installa l'ambiente desktop Gnome completo, incluso il browser Firefox, la suite di applicazioni per ufficio LibreOffice e il visualizzatore di PDF Evince:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-gnome-desktop
    
  2. Impostare la sessione di Chrome Remote Desktop in modo che utilizzi Gnome

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > /etc/chrome-remote-desktop-session'
    
  3. Disattiva il servizio di gestione del display di Gnome nella tua istanza, perché è in conflitto con il servizio Chrome Remote Desktop.

    sudo systemctl disable gdm3.service
    sudo reboot
    

    Questo comando riavvia la VM.

  4. Riconnettiti tramite SSH prima di continuare.

  5. (Facoltativo) Installa il browser Chrome nell'istanza:

    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. Nella finestra SSH connessa all'istanza VM, installa l'ambiente desktop Gnome completo, incluso il browser Firefox, la suite di applicazioni per ufficio LibreOffice e il visualizzatore di PDF Evince:

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

    Il parametro DEBIAN_FRONTEND=noninteractive elimina la richiesta di configurare un layout per una tastiera collegata direttamente all' istanza VM.

  2. Imposta la sessione di Chrome Remote Desktop in modo che utilizzi il desktop Gnome-Classic:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session-classic" > /etc/chrome-remote-desktop-session'
    
  3. Disattiva il servizio di gestione del display di Gnome nella tua istanza, perché è in conflitto con il servizio Chrome Remote Desktop.

    sudo systemctl disable gdm3.service
    sudo reboot
    

    Questo comando riavvia la VM.

  4. Riconnettiti tramite SSH prima di continuare.

  5. (Facoltativo) Installa il browser Chrome nell'istanza:

    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. Nella finestra SSH connessa all'istanza della VM, installa l'ambiente desktop KDE Plasma completo, incluso il browser Firefox, la suite di applicazioni per ufficio LibreOffice e il visualizzatore di PDF Evince:

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

    Il parametro DEBIAN_FRONTEND=noninteractive elimina la richiesta di configurare un layout per una tastiera collegata direttamente all' istanza VM.

  2. Impostare la sessione di Chrome Remote Desktop in modo che utilizzi KDE Plasma

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/startplasma-x11" > /etc/chrome-remote-desktop-session'
    
  3. (Facoltativo) Installa il browser Chrome nell'istanza:

    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
    

Configura e avvia il servizio Chrome Remote Desktop

Per avviare il server di desktop remoto, devi disporre di una chiave di autorizzazione per l'Account Google che vuoi utilizzare per connetterti:

  1. Nella console Google Cloud, vai alla pagina Istanze VM:

    Vai alla pagina Istanze VM

  2. Connettiti all'istanza facendo clic sul pulsante SSH.

  3. Sul computer locale, utilizza il browser Chrome per andare alla pagina di configurazione della riga di comando di Chrome Remote Desktop:

    https://remotedesktop.google.com/headless

  4. Se non l'hai ancora fatto, accedi con un Account Google. Si tratta dell'account che verrà utilizzato per autorizzare l'accesso remoto.

  5. Nella pagina Configura un altro computer, fai clic su Inizia.

  6. Fai clic su Autorizza.

    Devi consentire a Chrome Remote Desktop di accedere al tuo account. Se dai l'approvazione, nella pagina viene visualizzata una riga di comando per Debian Linux simile alla seguente:

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

    Utilizza questo comando per configurare e avviare il servizio Chrome Remote Desktop sull'istanza VM, collegandolo al tuo Account Google utilizzando il codice di autorizzazione.

  7. Copia il comando nella finestra SSH connessa all'istanza, quindi eseguilo.

  8. Quando richiesto, inserisci un PIN di 6 cifre. Questo numero verrà utilizzato per un'ulteriore autorizzazione quando ti connetti in un secondo momento.

    Potresti visualizzare errori come No net_fetcher o Failed to read. Puoi ignorarli.

  9. Verifica che il servizio sia in esecuzione utilizzando il seguente comando.

    sudo systemctl status chrome-remote-desktop@$USER
    

    Se il servizio è in esecuzione, viene visualizzato un output che include lo stato 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
    

Connettiti all'istanza VM

Puoi connetterti all'istanza VM utilizzando l'applicazione web Chrome Remote Desktop.

  1. Sul computer locale, vai al sito web di Chrome Remote Desktop.

  2. Fai clic su Accedi al mio computer.

  3. Se non hai ancora eseguito l'accesso a Google, accedi con lo stesso Account Google utilizzato per configurare il servizio Chrome Remote Desktop.

    Vedrai la nuova istanza VM crdhost nell'elenco Dispositivi remoti.

  4. Fai clic sul nome dell'istanza di desktop remoto.

  5. Quando richiesto, inserisci il PIN che hai creato in precedenza, quindi fai clic sul pulsante a forma di freccia per connetterti.

    Ora sei connesso all'ambiente desktop sull'istanza Compute Engine remota.

  6. Se ti viene richiesto, consenti sempre all'applicazione Remote Desktop di leggere gli appunti e di copiare e incollare tra applicazioni locali e remote.

  7. Se hai installato il desktop Xfce, la prima volta che ti connetti ti viene chiesto di configurare i riquadri del desktop. Fai clic su Usa configurazione predefinita per visualizzare la barra delle app standard in alto e il riquadro di avvio rapido in basso.

Scrivania xfce che mostra la barra delle app e il riquadro di avvio rapido.

Migliorare l'esperienza con il desktop remoto

Questa sezione fornisce istruzioni per modificare le impostazioni al fine di migliorare l'esperienza con il desktop remoto.

Installa l'app Chrome Remote Desktop

L'app Chrome Remote Desktop offre un'esperienza in finestra separata e consente di utilizzare sul sistema remoto le scorciatoie da tastiera che normalmente verrebbero intercettate da Chrome.

Se questa app non è installata, svolgi i seguenti passaggi:

  1. Apri il riquadro Opzioni sessione utilizzando il pulsante che viene visualizzato quando muovi il mouse sul lato della finestra.
  2. Nella sezione Installa app, fai clic su Inizia.
  3. Fai clic su Installa.

La sessione desktop remota si riapre nella relativa finestra dell'applicazione.

Puoi spostare qualsiasi sessione di desktop remoto da una scheda di Chrome alla finestra dell'app facendo clic sull'icona Apri con nella barra degli indirizzi.

Disattivare animazioni ed effetti in Cinnamon

La schermata iniziale di Cinnamon utilizza diverse funzionalità e animazioni grafiche, come finestre semitrasparenti e menu che si attenuano e si riaccendono. Poiché queste animazioni richiedono più tempo per essere visualizzate su una connessione remota, l'interfaccia utente può sembrare lenta.

Per disattivare questi effetti:

  1. Nella schermata del desktop di Cinnamon, seleziona Menu > Preferenze > Effetti.

    Impostazione delle preferenze del desktop in Cinnamon.

  2. Disattiva ciascuno degli effetti:

    Disattivare gli effetti di animazione in Cinnamon.

Impostare una password utente

L'account utente creato da Compute Engine non ha una password. Tuttavia, diversi ambienti desktop ne richiedono uno per sbloccare gli screensaver e autorizzare le azioni amministrative. È quindi importante impostare una password per l'utente:

  1. Connettiti all'istanza tramite SSH, come hai fatto la prima volta che l'hai configurata.
  2. Crea una password per l'utente:

    sudo passwd $(whoami)
    

Disattivare i salvaschermo e le schermate di blocco

Poiché accedi al tuo computer da un computer remoto, in genere non è necessario utilizzare uno screensaver o un blocco schermo, quindi puoi disattivarli.

Xfce

  1. Nel menu Applicazioni, seleziona Impostazioni > Schermata di blocco.
  2. Imposta Modalità su Disattiva salvaschermo.

Cannella

  1. Sul computer, seleziona Menu > Preferenze > Schermsaver.
  2. Nella scheda Impostazioni, imposta Ritardo su Mai e disattiva le seguenti due impostazioni di blocco per bloccare automaticamente lo schermo.

Gnomo

  1. Sul computer, fai clic su Attività e digita Settings.
  2. Seleziona l'applicazione Impostazioni.
  3. Nell'applicazione Impostazioni, seleziona Privacy > Blocco schermo.
  4. Disattiva Blocco schermo automatico e chiudi la finestra di dialogo.
  5. Seleziona Dispositivi > Tastiera.
  6. Nell'elenco delle scorciatoie da tastiera, vai alla sezione Sistema e poi fai clic su Schermata di blocco.
  7. Premi il tasto Backspace per disattivare la scorciatoia, quindi fai clic su Imposta.
  8. Seleziona Accensione e imposta Schermo vuoto su Mai.

Gnome-Classic

  1. Sul computer, seleziona Applicazioni > Strumenti di sistema > Impostazioni.
  2. Nell'applicazione Impostazioni, seleziona Privacy > Blocco schermo.
  3. Disattiva Blocco schermo automatico e chiudi la finestra di dialogo.
  4. Seleziona Dispositivi > Tastiera.
  5. Nell'elenco delle scorciatoie da tastiera, vai alla sezione Sistema e fai clic su Blocco schermo.
  6. Premi il tasto Backspace per disattivare la scorciatoia, quindi fai clic su Imposta.
  7. Seleziona Accensione e imposta Schermo vuoto su Mai.

KDE Plasma

  1. Sul computer, fai clic sul pulsante del menu KDE e poi digita Screen Locking.
  2. Seleziona l'applicazione Blocco schermo.
  3. Nell'applicazione Configura blocco schermo, disattiva Blocca schermo automaticamente dopo e fai clic sul pulsante per cancellare la scorciatoia da tastiera.
  4. Fai clic su OK.

Aumentare la risoluzione del computer

Se hai un monitor ad altissima risoluzione, potresti scoprire che le dimensioni massime predefinite del desktop remoto di 1600 x 1200 sono troppo piccole. In questo caso, puoi aumentarla fino alla risoluzione del monitor.

  1. Utilizza SSH per connetterti all'istanza.
  2. Imposta la variabile di ambiente CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES per includere la risoluzione del monitor:

    echo "export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1600x1200,3840x2560" \
        >> ~/.profile
    
  3. Riavvia il servizio:

    sudo systemctl restart chrome-remote-desktop@$USER
    

Attiva il codec video avanzato:

Il codec AV1 con colori di alta qualità offre una qualità delle immagini migliorata e consente una codifica migliore delle informazioni sui colori puri (come il testo):

  1. Apri il riquadro Opzioni sessione utilizzando il pulsante che viene visualizzato quando muovi il mouse sul lato della finestra.
  2. Nel campo Video Codec (Codec video), seleziona AV1.
  3. Assicurati che il campo Colore di alta qualità sia abilitato.

Scegliere un altro ambiente desktop

Nella sezione precedente hai impostato un ambiente desktop predefinito nel file di configurazione globale/etc/chrome-remote-desktop-session. Puoi anche scegliere un ambiente desktop diverso (se installato) specificandolo nel file di configurazione .chrome-remote-desktop-session nella home directory:

Xfce

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

Cannella

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

Dopo aver apportato questa modifica, riavvia il servizio in modo che venga applicata:

sudo systemctl restart chrome-remote-desktop@$USER

Come accennato in precedenza, Chrome Remote Desktop non supporta l'accelerazione della grafica 3D. Pertanto, per tutti gli ambienti desktop che utilizzano queste funzionalità, devi disattivare la grafica 3D, altrimenti la sessione non verrà avviata.

Automatizzare la procedura di installazione

Quando devi configurare più computer con Chrome Remote Desktop, i passaggi di installazione manuale possono diventare ripetitivi. Puoi utilizzare un script di avvio personalizzato per automatizzare questa procedura, seguendo la procedura riportata di seguito.

Ai fini di questo tutorial, viene utilizzato il tipo di macchina predefinito con un disco di avvio Debian Linux. Se lo utilizzi per il tuo ambiente, ti consigliamo di modificare il tipo di macchina, il nome, la regione, le dimensioni del disco di avvio o altre impostazioni.

  1. Nella console Google Cloud, vai alla pagina Istanze VM:

    Vai alla pagina Istanze VM

  2. Fai clic su Crea istanza.

  3. Imposta il nome dell'istanza su crdhost-autoinstall.

  4. Scorri fino alla sezione Opzioni avanzate ed espandila.

  5. Espandi la sezione Gestione.

  6. Copia il seguente script shell e incollalo nel campo Script di automazione/avvio:

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

    Questo script esegue le seguenti attività ogni volta che la macchina viene riavviata:

    • Se il pacchetto di accesso remoto non è installato:
      • Aggiunge il repository dei pacchetti Debian di Chrome Remote Desktop
      • Installa il pacchetto Chrome Remote Desktop e le dipendenze.
    • Installa gli ambienti desktop Xfce o Cinnamon (a seconda delle impostazioni dello script).
    • Se l'opzione dell'ambiente desktop completo è attiva, vengono installati i pacchetti necessari.
    • Se l'opzione del browser Google Chrome è attivata e non è installata:
      • Scarica il pacchetto di Google Chrome.
      • Installa Google Chrome e i relativi pacchetti dipendenti.
  7. Fai clic su Crea.

    La creazione dell'istanza richiede alcuni istanti e alla prima esecuzione con tutte le opzioni abilitate, lo script può richiedere fino a 10 minuti per completare l'installazione.

  8. Per monitorare l'avanzamento, connettiti all'istanza VM utilizzando SSH e, nel terminale dell'istanza, esegui il seguente comando:

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

    Questo comando mostra l'output dello script di avvio. Al termine dello script, viene visualizzato quanto segue:

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

Questo script installa solo i pacchetti richiesti; devi comunque configurare il servizio Desktop remoto per l'utente, come descritto in precedenza.

Esistono diversi modi per specificare uno script di avvio quando crei una nuova istanza VM:

  • Incollandolo nella console Google Cloud (come mostrato in precedenza).
  • Memorizzandolo come file su una macchina locale e utilizzando il flag --metadata-from-file quando crei l'istanza utilizzando Google Cloud CLI.
  • Memorizzandolo in un bucket Cloud Storage e specificando l'URL dell'oggetto nella console o nell'interfaccia alla gcloud CLI.

Per ulteriori informazioni sui metodi alternativi per configurare lo script di avvio, consulta Esecuzione degli script di avvio nella documentazione di Compute Engine.

Risoluzione dei problemi

Questa sezione fornisce suggerimenti per la risoluzione dei problemi relativi a questa guida.

Controllare lo stato del servizio Chrome Remote Desktop

Se in un determinato momento il servizio Chrome Remote Desktop non risponde, puoi verificarne lo stato utilizzando SSH per connetterti all'istanza ed eseguendo il seguente comando:

sudo systemctl status chrome-remote-desktop@$USER

Se il servizio è in esecuzione, viene visualizzato un output che include lo stato 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

Per riavviare il servizio, utilizza il seguente comando nella finestra SSH:

sudo systemctl restart chrome-remote-desktop@$USER

Visualizzare informazioni su log ed errori

Chrome Remote Desktop scrive le informazioni dei log nel diario di 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

Puoi controllare questi file di log per verificare la presenza di messaggi di errore.

Riattivare il servizio

Se hai disattivato per errore le connessioni all'istanza remota nell'app client, puoi riconfigurare il servizio e riattivarlo seguendo le istruzioni riportate in Configurare e avviare il servizio Chrome Remote Desktop.

Controlla i file di configurazione della sessione globali e specifici per utente.

Controlla i contenuti del file di configurazione /etc/chrome-remote-desktop-session globale e del file di configurazione ~/.chrome-remote-desktop-session specifico dell'utente e verifica che gli ambienti desktop specificati siano installati.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.

Elimina il progetto

Il modo più semplice per eliminare la fatturazione è eliminare il progetto che hai creato per il tutorial.

Per eliminare il progetto:

  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.

Elimina l'istanza Compute Engine

In alternativa all'eliminazione dell'intero progetto, puoi eliminare l'istanza VM creata per questo tutorial:

  1. Nella console Google Cloud, vai alla pagina Istanze VM:

    Vai alla pagina Istanze VM

  2. Seleziona la casella di controllo accanto al nome dell'istanza creato in precedenza (crdhost).

  3. Fai clic sul pulsante Elimina nella parte superiore della pagina:

    Eliminazione dell'istanza VM.

    L'eliminazione dell'istanza richiede alcuni istanti.

Annullare l'autorizzazione di Chrome Remote Desktop per l'istanza

Se non vuoi più connetterti all'istanza VM, puoi disattivarla e rimuoverla dall'elenco Dispositivi remoti.

  1. Sul computer locale, vai al sito web Elenco dei dispositivi remoti di Chrome Remote Desktop.
  2. Fai clic su accanto al nome dell'istanza crdhost.
  3. Fai clic su OK per confermare che la connessione del dispositivo remoto deve essere disabilitata.

Passaggi successivi