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 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 a Chrome Connessioni Remote Desktop; non occorre configurare firewall aggiuntivi le regole del caso. L'accesso SSH è richiesto solo per la configurazione iniziale.

La VM ha bisogno di accedere a internet (con un indirizzo IP esterno o tramite Cloud NAT) e utilizza il tuo Account Google per l'autenticazione e 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 computer locale all'ambiente desktop sulla VM in esecuzione in un'istanza Compute Engine.

Costi

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

  • Compute Engine

Utilizza la 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. Una volta completate le attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la pagina 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 l'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 altro ruolo.
    7. Fai clic su Salva.
  10. Puoi utilizzare Google Chrome sul tuo computer 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, le dimensioni 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 dell'istanza VM, aggiungi il sistema Chrome Remote Debian Linux Repository desktop nell'elenco di pacchetti apt e installa 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 utilizza l'accelerazione grafica 3D, devi disattivare questa funzione oppure il telecomando il servizio desktop 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 c'è alcun display collegato all'istanza, disabilita il servizio Display Manager sulla tua 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. Imposta la sessione di Chrome Remote Desktop in modo che utilizzi Cinnamon in modalità 2D (che non utilizza l'accelerazione grafica 3D) per impostazione predefinita:

    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 sull'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 per utilizzare Gnome

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > /etc/chrome-remote-desktop-session'
    
  3. Disabilita il servizio Gestione display di Gnome sulla tua istanza, perché sono 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 sull'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 per utilizzare il desktop Gnome-Classic:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session-classic" > /etc/chrome-remote-desktop-session'
    
  3. Disabilita il servizio Gestione display di Gnome sulla tua istanza, perché sono 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
    

Plasma KDE

  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 a . 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)
    

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

  7. Copia il comando nella finestra SSH di connessione all'istanza ed esegui il comando.

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

    La nuova istanza VM crdhost è visibile 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 sul telecomando di Compute Engine.

  6. Se richiesto, consenti sempre all'applicazione Remote Desktop di leggere appunti e ti consente di copiare e incollare elementi tra locale e remoto diverse applicazioni.

  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 Utilizza configurazione predefinita per ottenere lo standard barra delle app in alto e riquadro Avvio rapido in basso.

Desktop xfce che mostra la barra delle applicazioni 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:

  1. Apri il riquadro Opzioni sessione utilizzando il pulsante che viene visualizzata quando sposti 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 a nella finestra dell'app facendo clic sul pulsante Apri con nella barra degli indirizzi.

Disattiva 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é questi il rendering delle animazioni richiede più tempo tramite una connessione remota, sembra essere lenta.

Per disattivare questi effetti:

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

    Imposto le preferenze del desktop in Cinnamon.

  2. Disattiva ciascuno degli effetti:

    È in corso la disattivazione degli effetti di animazione in Cinnamon.

Imposta una password utente

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

  1. Connettiti all'istanza tramite SSH, come hai fatto durante la configurazione iniziale in esecuzione in un'istanza Compute Engine.
  2. Crea una password per l'utente:

    sudo passwd $(whoami)
    

Disattivare i salvaschermo e le schermate di blocco

Poiché stai accedendo al desktop da un computer remoto, in genere necessarie per utilizzare un salvaschermo 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. Nel computer, seleziona Menu > Preferenze > Salvaschermo.
  2. Nella scheda Impostazioni, imposta Ritardo su Mai e disattiva il 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/Spegnimento e imposta Schermo vuoto su Mai.

Gnome classico

  1. Sul desktop, seleziona Applicazioni > Strumenti di sistema > Impostazioni.
  2. Nell'applicazione Settings (Impostazioni), seleziona Privacy (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 Schermata di blocco.
  6. Premi il tasto Backspace per disattivare la scorciatoia, quindi fai clic su Imposta.
  7. Seleziona Alimentazione 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 il blocco schermo, disattiva Schermata di blocco Automaticamente dopo e fare clic sul per cancellare scorciatoia da tastiera.
  4. Fai clic su OK.

Aumenta la risoluzione del desktop

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 l'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 migliore qualità dell'immagine e consente migliore codifica delle informazioni di colore puro (come il testo):

  1. Apri il riquadro Opzioni sessione utilizzando il pulsante che viene visualizzata quando sposti il mouse sul lato della finestra.
  2. Nel campo 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 nell'interfaccia di configurazione di /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à, è necessario disattivare la grafica 3D, altrimenti la sessione non verrà avviata.

Automatizza il processo di installazione

Se devi configurare più computer con Chrome Remote Desktop, il manuale i passaggi di installazione 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, il tipo di macchina predefinito con un ambiente Debian Linux di avvio del deployment. 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 ed espandi la sezione Opzioni avanzate.

  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à a ogni riavvio della macchina:

    • Se il pacchetto di accesso remoto non è installato:
      • Aggiunge il repository dei pacchetti Debian di Chrome Remote Desktop
      • Installa il pacchetto e le dipendenze Chrome Remote Desktop.
    • Installa gli ambienti desktop Xfce o Cinnamon (a seconda del impostazioni dello script).
    • Se l'opzione dell'ambiente desktop completo è attivata, vengono installati i pacchetti necessari.
    • Se l'opzione del browser Google Chrome è attivata e non è installata:
      • Scarica il pacchetto 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 tramite SSH e nel terminale dell'istanza esegui questo comando:

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

    Questo comando mostra l'output dello script di avvio. Quando lo script ha completato, vedrai 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 vari modi per specificare uno script di avvio durante la creazione di una nuova VM istanza:

  • Incollandolo nella console Google Cloud (come mostrato in precedenza).
  • La memorizzazione come file su un computer locale e l'utilizzo --metadata-from-file quando crei l'istanza utilizzando il metodo Google Cloud CLI.
  • archiviandola in un bucket Cloud Storage e specificando l'URL del nella console o in 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

Ottieni informazioni sui log e sugli 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 la presenza di messaggi di errore nei file di log.

Riattiva 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 globale e specifica per l'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 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 Istanze VM pagina:

    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 qualche istante.

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 di dispositivi remoti di Chrome Remote Desktop.
  2. Fai clic su accanto all'istanza nome crdhost.
  3. Fai clic su OK per confermare che la connessione del dispositivo remoto deve essere disabilitata.

Passaggi successivi