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 alle applicazioni tramite un'interfaccia utente grafica da un computer locale o un dispositivo mobile.

Se segui questo tutorial, le regole firewall predefinite consentono le connessioni Chrome Remote Desktop; non è necessario configurare regole firewall aggiuntive. 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 utilizzi 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 sulle altre opzioni per la creazione di workstation virtuali, consulta Creazione di una workstation virtuale.

Obiettivi

  • Crea un'istanza VM di Compute Engine headless su cui eseguire Chrome Remote Desktop.
  • Installare e configurare il servizio Chrome Remote Desktop sull'istanza VM.
  • Configurare un ambiente desktop X Window System nell'istanza VM.
  • Connettiti dal tuo computer locale all'ambiente desktop nell'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. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Attiva l'API Compute Engine.

    Abilita l'API

  5. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Attiva l'API Compute Engine.

    Abilita l'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. Assicurati di disporre dei seguenti ruoli nel progetto: roles/compute.admin

    Verifica i ruoli

    1. Nella console Google Cloud, vai alla pagina IAM.

      Vai a IAM
    2. Seleziona il progetto.
    3. Nella colonna Entità, individua la riga contenente il tuo indirizzo email.

      Se il tuo indirizzo email non è in questa colonna, significa che non disponi di alcun ruolo.

    4. Nella colonna Ruolo per la riga contenente il tuo indirizzo email, controlla se l'elenco dei ruoli include quelli richiesti.

    Concedi i ruoli

    1. Nella console Google Cloud, vai alla pagina IAM.

      Vai a IAM
    2. Seleziona il progetto.
    3. Fai clic su Concedi l'accesso.
    4. Nel campo Nuove entità, inserisci il tuo indirizzo email.
    5. Nell'elenco Seleziona un ruolo, scegli un ruolo.
    6. Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ciascun ruolo aggiuntivo.
    7. Fai clic su Salva.
  10. Utilizzi il browser Google Chrome sulla tua macchina locale.

crea un'istanza Compute Engine

Ai fini di questo tutorial, viene utilizzato il tipo di macchina predefinito con un disco di avvio Debian Linux. Se utilizzi questa opzione per il tuo ambiente, potrebbe essere opportuno 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 qualche istante.

  5. Dopo aver creato l'istanza, connettiti alla nuova istanza 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 repository Debian Linux Chrome Remote Desktop 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.

Installa un ambiente desktop X Windows System

Devi installare un ambiente desktop X Window System e un gestore di finestre per poter utilizzare Chrome Remote Desktop. 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 disabilitare 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 desktop di base:

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

    XScreenSaver è richiesto perché l'archivio 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 per l'utilizzo di Xfce per impostazione predefinita:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
    
  3. Poiché non ci sono display collegati all'istanza, disabilita il servizio Display Manager sull'istanza:

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

    sudo apt install --assume-yes task-xfce-desktop
    
  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
    

Cannella

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

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes cinnamon-core desktop-base dbus-x11
    
  2. Per impostazione predefinita, imposta la sessione Chrome Remote Desktop in modo da utilizzare 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. Facoltativamente, installa la suite completa delle applicazioni desktop Linux, tra cui il browser Firefox, la suite di applicazioni per l'ufficio LibreOffice e il visualizzatore PDF di 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, inclusi il browser Firefox, la suite di applicazioni per l'ufficio di LibreOffice e il visualizzatore PDF di Evince:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-gnome-desktop
    
  2. Imposta la sessione Chrome Remote Desktop per utilizzare Gnome

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > /etc/chrome-remote-desktop-session'
    
  3. Disattiva il servizio Display Manager Gnome nella tua istanza in caso di 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 classico

  1. Nella finestra SSH connessa all'istanza VM, installa l'ambiente desktop Gnome completo, inclusi il browser Firefox, la suite di applicazioni per l'ufficio di LibreOffice e il visualizzatore PDF di 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 Chrome Remote Desktop in modo da utilizzare 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 Display Manager Gnome nella tua istanza in caso di 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
    

Plasma KDE

  1. Nella finestra SSH connessa all'istanza VM, installa l'ambiente desktop KDE Plasma completo, inclusi il browser Firefox, la suite di applicazioni per l'ufficio di LibreOffice e il visualizzatore PDF di 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. Imposta la sessione Chrome Remote Desktop per utilizzare 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 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
    

Configurare e avviare il servizio Chrome Remote Desktop

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

  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, utilizzando il browser Chrome, vai 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. Questo è l'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 approvi, nella pagina viene visualizzata una riga di comando per Debian Linux che ha il seguente aspetto:

    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 sulla tua istanza VM, collegandola al tuo Account Google tramite il codice di autorizzazione.

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

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

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

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

    sudo systemctl status chrome-remote-desktop@$USER
    

    Se il servizio è in esecuzione, verrà 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. Visita il sito web di Chrome Remote Desktop sul computer locale.

  2. Fai clic su Accedi al mio computer.

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

    La nuova istanza VM crdhost viene visualizzata nell'elenco Dispositivi remoti.

  4. Fai clic sul nome dell'istanza di Remote Desktop.

  5. Quando ti viene richiesto, inserisci il PIN creato in precedenza, quindi fai clic sul pulsante a forma di freccia per eseguire la connessione.

    La connessione all'ambiente desktop nella tua istanza di Compute Engine remota è ora stabilita.

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

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

desktop xfce che mostra la barra delle applicazioni e il riquadro di avvio rapido.

Migliorare l'esperienza di Remote Desktop

Questa sezione fornisce istruzioni su come modificare le impostazioni al fine di migliorare l'esperienza di Remote Desktop.

Installare l'app di Chrome per desktop remoto

L'app Chrome Remote Desktop offre un'esperienza separata con una finestra e consente l'utilizzo sul sistema remoto delle scorciatoie da tastiera che normalmente vengono intercettate da Chrome.

Se questa app non è installata, procedi nel seguente modo:

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

La sessione Remote Desktop si riapre nella propria finestra dell'applicazione.

Puoi spostare qualsiasi sessione di Remote Desktop 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

Cinnamon desktop utilizza diverse funzionalità grafiche e animazioni, come finestre semitrasparenti e menu che si dissolvenza in entrata e in uscita. Poiché queste animazioni richiedono più tempo per il rendering su una connessione remota, l'interfaccia utente potrebbe apparire lenta.

Per disattivare questi effetti:

  1. Nel desktop Cinnamon, seleziona Menu > Preferenze > Effetti.

    Imposto le preferenze desktop in Cinnamon.

  2. Disattiva tutti gli effetti:

    È in corso la disattivazione degli 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 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 dell'istanza.
  2. Crea una password per l'utente:

    sudo passwd $(whoami)
    

Disattivare salvaschermi e schermate di blocco

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

Xfce

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

Cannella

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

Gnomo

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

Gnome classico

  1. Sul desktop, seleziona Applicazioni > Strumenti di sistema > Impostazioni.
  2. Nell'applicazione Impostazioni, seleziona Privacy > Blocco schermo.
  3. Disattiva il blocco automatico dello schermo 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.

Plasma KDE

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

Aumenta la risoluzione del desktop

Se hai un monitor ad altissima risoluzione, potresti notare che la dimensione massima predefinita di Remote Desktop (1600 x 1200) è troppo ridotta. In tal caso, puoi aumentare la risoluzione del monitor.

  1. Utilizza SSH per connetterti all'istanza.
  2. Imposta la variabile di ambiente CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES in modo da 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 colore di alta qualità offre una migliore qualità delle immagini e consente una migliore codifica delle informazioni di colore puro (come il testo):

  1. Apri il riquadro Opzioni sessione utilizzando il pulsante che viene visualizzato quando sposti il mouse lateralmente della finestra.
  2. Nel campo Codec video, seleziona AV1.
  3. Assicurati che il campo Colore di alta qualità sia attivo.

Scegli un ambiente desktop diverso

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

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 classico

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

Plasma KDE

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

Dopo aver apportato questa modifica, riavvia il servizio in modo che la modifica abbia effetto:

sudo systemctl restart chrome-remote-desktop@$USER

Come accennato in precedenza, Chrome Remote Desktop non supporta l'accelerazione grafica 3D. Pertanto, per qualsiasi ambiente desktop che utilizza queste funzionalità, devi disattivare la grafica 3D, altrimenti la sessione non verrà avviata.

Automatizza il processo di installazione

Quando devi configurare più computer con Chrome Remote Desktop, i passaggi di installazione manuale possono diventare ripetitivi. Puoi utilizzare uno script di avvio personalizzato per automatizzare questo processo, 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 utilizzi questa opzione per il tuo ambiente, potrebbe essere opportuno 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 attività seguenti a ogni riavvio della macchina:

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

    La creazione dell'istanza richiede pochi istanti. 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. Al termine dello script, vedi 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 il tuo utente, come descritto in precedenza.

Esistono vari modi per specificare uno script di avvio durante la creazione di una nuova istanza VM:

  • Incollarlo nella console Google Cloud (come mostrato in precedenza).
  • Archiviandola come file su una macchina locale e utilizzando il flag --metadata-from-file quando crei l'istanza utilizzando Google Cloud CLI.
  • Archiviazione in un bucket Cloud Storage e specifica dell'URL dell'oggetto, nella console o in gcloud CLI.

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

Risoluzione dei problemi

In questa sezione vengono forniti consigli per la risoluzione dei problemi della guida.

Controllare lo stato del servizio Chrome Remote Desktop

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

sudo systemctl status chrome-remote-desktop@$USER

Se il servizio è in esecuzione, verrà 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 comando seguente nella finestra SSH:

sudo systemctl restart chrome-remote-desktop@$USER

Recuperare informazioni su log ed errori

Chrome Remote Desktop scrive le informazioni di 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 se in questi file di log sono presenti messaggi di errore.

Riattiva il servizio

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

Controlla i file di configurazione delle sessioni globali e specifici 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 è eliminare il progetto che hai creato per il tutorial.

Per eliminare il progetto:

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

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 che hai 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.

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

Se non vuoi più connetterti all'istanza VM, puoi disabilitarla e rimuovere l'istanza dall'elenco Dispositivi remoti.

  1. Sul computer locale, visita il sito web dell'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 remota del dispositivo sia disattivata.

Passaggi successivi