Configurer le service Bureau à distance Chrome pour Linux sur Compute Engine

Last reviewed 2022-11-16 UTC

Ce tutoriel explique comment configurer le service Bureau à distance Chrome pour une instance de machine virtuelle (VM) Debian Linux sur Compute Engine. Pour obtenir des instructions distinctes pour les VM Windows, consultez Machines virtuelles Windows. Ce service vous permet d'accéder à distance aux applications avec une interface utilisateur graphique à partir d'un ordinateur local ou d'un appareil mobile.

Dans le cadre de ce tutoriel, les règles de pare-feu par défaut autorisent les connexions du Bureau à distance Chrome. Vous n'avez pas besoin de configurer de règles de pare-feu supplémentaires. L'accès SSH n'est requis que pour la configuration initiale.

La VM doit avoir accès à Internet (avec une adresse IP externe ou via Cloud NAT), et vous devez utiliser votre compte Google pour l'authentification et l'autorisation.

Dans le présent tutoriel, il est supposé que vous connaissez la ligne de commande Linux et savez installer des packages Debian.

Pour en savoir plus sur les autres solutions permettant de créer des postes de travail virtuels, consultez la page Créer un poste de travail virtuel.

Objectifs

  • Créer une instance de VM Compute Engine headless sur laquelle le service Bureau à distance Chrome peut être exécuté
  • Installer et configurer le service Bureau à distance Chrome sur l'instance de VM
  • Configurer l'environnement de bureau X Window sur l'instance de VM
  • Vous connecter à partir de votre ordinateur local à l'environnement de bureau sur l'instance de VM

Coûts

Ce tutoriel utilise des composants facturables de Google Cloud, dont :

  • Compute Engine

Utilisez le Simulateur de coût pour générer une estimation des coûts en fonction de votre utilisation prévue.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  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. Une fois que vous avez terminé les tâches décrites dans ce document, vous pouvez éviter de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.

  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.

      Accéder à IAM
    2. Sélectionnez le projet.
    3. Cliquez sur Accorder l'accès.
    4. Dans le champ Nouveaux comptes principaux, saisissez votre identifiant utilisateur. Il s'agit généralement de l'adresse e-mail d'un compte Google.

    5. Dans la liste Sélectionner un rôle, sélectionnez un rôle.
    6. Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez chaque rôle supplémentaire.
    7. Cliquez sur Enregistrer.
    8. Vous utilisez le navigateur Google Chrome sur votre ordinateur local.

Créer une instance Compute Engine

Pour les besoins de ce tutoriel, nous utilisons le type de machine par défaut avec un disque de démarrage Debian Linux. Si vous l'utilisez pour votre propre environnement, vous pouvez ajuster le type de machine, le nom, la région, la taille du disque de démarrage ou d'autres paramètres.

  1. Dans Google Cloud Console, accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Cliquez sur Créer.

  3. Définissez le nom de l'instance sur crdhost.

  4. Cliquez sur Créer.

    La création de l'instance prend quelques instants.

  5. Une fois l'instance créée, connectez-vous à celle-ci en cliquant sur SSH dans la liste des instances :

    Créer une connexion SSH vers l'instance de VM.

Installer le Bureau à distance Chrome sur l'instance de VM

  1. Dans la fenêtre SSH de votre instance de VM, ajoutez le dépôt Debian Linux du Bureau à distance Chrome à votre liste de packages apt, puis installez le package 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
    

    Le paramètre DEBIAN_FRONTEND=noninteractive permet de supprimer une requête servant à configurer une disposition pour un clavier directement connecté à l'instance de VM.

Installer un environnement de bureau X Window

Vous devez installer l'environnement de bureau et le gestionnaire d'affichage X Window que le bureau à distance Chrome va utiliser. Les options courantes sont décrites ci-dessous.

Vous pouvez utiliser d'autres environnements de bureau. Sachez cependant que le bureau à distance Chrome n'accepte pas l'accélération graphique 3D. Si vous choisissez un environnement de bureau qui fait appel à l'accélération graphique 3D, vous devez désactiver cette fonctionnalité, sinon le service de bureau à distance ne démarrera pas.

Pour les connexions à distance sur des réseaux plus lents, nous recommandons Xfce, car il comporte des éléments graphiques minimaux et peu d'animations.

Xfce

  1. Dans la fenêtre SSH connectée à votre instance de VM, installez l'environnement Xfce et les composants de bureau de base en exécutant la commande suivante :

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

    XScreenSaver est requis, car le programme de verrouillage d'écran par défaut Xfce (Light Locker) ne fonctionne pas avec le Bureau à distance Chrome (Light Locker affiche un écran vide qui ne peut pas être déverrouillé).

  2. Configurez le Bureau à distance Chrome de façon à utiliser Xfce :

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
    
  3. Comme aucun écran n'est connecté à votre instance, désactivez le service du gestionnaire d'affichage sur votre instance :

    sudo systemctl disable lightdm.service
    
  4. Facultatif : Installez la suite complète d'applications de bureau Linux, y compris le navigateur Firefox, la suite d'applications bureautiques LibreOffice et le lecteur de fichiers PDF Evince.

    sudo apt install --assume-yes task-xfce-desktop
    
  5. Facultatif : installez le navigateur Chrome sur votre instance :

    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. Dans la fenêtre SSH connectée à votre instance de VM, installez l'environnement Cinnamon et les composants de bureau de base en exécutant la commande suivante :

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes cinnamon-core desktop-base dbus-x11
    
  2. Configurez votre session de bureau à distance Chrome pour utiliser Cinnamon en mode 2D (sans accélération graphique 3D) :

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/cinnamon-session-cinnamon2d" > /etc/chrome-remote-desktop-session'
    
  3. Vous pouvez également installer la suite complète d'applications de bureau Linux, qui inclut le navigateur Firefox, la suite d'applications bureautiques LibreOffice et le lecteur de fichiers PDF Evince.

    sudo apt install --assume-yes task-cinnamon-desktop
    
  4. Facultatif : installez le navigateur Chrome sur votre instance :

    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. Dans la fenêtre SSH connectée à votre instance de VM, installez l'environnement de bureau complet Gnome, y compris le navigateur Firefox, la suite d'applications bureautiques LibreOffice et le lecteur de fichiers PDF Evince :

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-gnome-desktop
    
  2. Configurer votre session de bureau à distance Chrome pour utiliser Gnome

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > /etc/chrome-remote-desktop-session'
    
  3. Désactivez le service du gestionnaire d'affichage Gnome sur votre instance, car il entre en conflit avec le service Bureau à distance Chrome.

    sudo systemctl disable gdm3.service
    sudo reboot
    

    Cette commande redémarre la VM.

  4. Reconnectez-vous via SSH avant de continuer.

  5. Facultatif : installez le navigateur Chrome sur votre instance :

    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 classique

  1. Dans la fenêtre SSH connectée à votre instance de VM, installez l'environnement de bureau complet Gnome, y compris le navigateur Firefox, la suite d'applications bureautiques LibreOffice et le lecteur de fichiers PDF Evince :

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

    Le paramètre DEBIAN_FRONTEND=noninteractive permet de supprimer une invite servant à configurer une disposition pour un clavier directement connecté à l'instance de VM.

  2. Configurez votre session de bureau à distance Chrome pour utiliser le bureau classique de Gnome :

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session-classic" > /etc/chrome-remote-desktop-session'
    
  3. Désactivez le service du gestionnaire d'affichage Gnome sur votre instance, car il entre en conflit avec le service Bureau à distance Chrome.

    sudo systemctl disable gdm3.service
    sudo reboot
    

    Cette commande redémarre la VM.

  4. Reconnectez-vous via SSH avant de continuer.

  5. Facultatif : installez le navigateur Chrome sur votre instance :

    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. Dans la fenêtre SSH connectée à votre instance de VM, installez l'environnement de bureau complet KDE Plasma, y compris le navigateur Firefox, la suite d'applications bureautiques LibreOffice et le lecteur de fichiers PDF Evince :

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

    Le paramètre DEBIAN_FRONTEND=noninteractive permet de supprimer une requête servant à configurer une disposition pour un clavier directement connecté à l'instance de VM.

  2. Configurer la session du Bureau à distance Chrome pour utiliser KDE Plasma

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/startplasma-x11" > /etc/chrome-remote-desktop-session'
    
  3. Facultatif : installez le navigateur Chrome sur votre instance :

    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
    

Configurer et démarrer le service hôte du Bureau à distance Chrome

Pour démarrer le serveur Bureau à distance, vous devez disposer d'une clé d'autorisation pour le compte Google que vous souhaitez utiliser pour la connexion :

  1. Dans la console Google Cloud, accédez à la page Instances de VM :

    Accéder à la page Instances de VM

  2. Connectez-vous à votre instance en cliquant sur le bouton SSH.

  3. Sur votre ordinateur local, accédez à la page de configuration de la ligne de commande du bureau à distance Chrome à l'aide du navigateur Chrome :

    https://remotedesktop.google.com/headless

  4. Connectez-vous avec un compte Google si vous ne l'avez pas déjà fait. Il s'agit du compte qui sera utilisé pour autoriser l'accès à distance.

  5. Sur la page Set up another computer (configurer un autre ordinateur), cliquez sur Begin (commencer).

  6. Cliquez sur Autoriser.

    Vous devez autoriser le bureau à distance Chrome à accéder à votre compte. Si vous acceptez, la page affiche une ligne de commande pour Debian Linux semblable à celle-ci :

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

    Utilisez cette commande pour configurer et démarrer le service Bureau à distance Chrome sur votre instance de VM. Ce dernier est alors associé à votre compte Google à l'aide du code d'autorisation.

  7. Copiez la commande dans la fenêtre SSH connectée à votre instance, puis exécutez-la.

  8. Lorsque vous y êtes invité, indiquez un code à six chiffres. Vous l'utiliserez pour obtenir une autre autorisation lorsque vous vous connecterez ultérieurement.

    Vous verrez peut-être des erreurs telles que No net_fetcher ou Failed to read. Vous pouvez ignorer ces erreurs.

  9. Vérifiez que le service est en cours d'exécution à l'aide de la commande suivante.

    sudo systemctl status chrome-remote-desktop@$USER
    

    Si le service est en cours d'exécution, un message indiquant l'état active s'affiche :

    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
    

Se connecter à l'instance de VM

Vous pouvez vous connecter à l'instance de VM à l'aide de l'application Web Bureau à distance Chrome.

  1. Sur votre ordinateur local, accédez au site Web Bureau à distance Chrome.

  2. Cliquez sur Accéder à mon ordinateur.

  3. Si vous n'êtes pas encore connecté à Google, connectez-vous avec le même compte Google que celui utilisé pour configurer le service Bureau à distance Chrome.

    Votre nouvelle instance de VM crdhost s'affiche dans la liste Appareils distants.

  4. Cliquez sur le nom de l'instance de bureau à distance.

  5. Lorsque vous y êtes invité, saisissez le code PIN que vous avez créé précédemment, puis cliquez sur le bouton en forme de flèche pour vous connecter.

    Vous êtes maintenant connecté à l'environnement de bureau sur votre instance Compute Engine distante.

  6. Si vous y êtes invité, assurez-vous que l'application Bureau à distance est toujours autorisée à lire votre presse-papiers, et qu'elle vous permet de copier et coller du contenu entre des applications locales et distantes.

  7. Si vous avez installé l'environnement de bureau Xfce, vous êtes invité à configurer les panneaux correspondants lors de votre première connexion. Cliquez sur Use Default Config (Utiliser la configuration par défaut) pour afficher la barre des tâches standard en haut de la fenêtre et le panneau de lancement rapide en bas.

Bureau xfce montrant la barre des tâches et le panneau de lancement rapide.

Améliorer l'expérience utilisateur dans le bureau à distance

Cette section fournit des instructions pour modifier les paramètres afin d'améliorer l'expérience utilisateur dans le bureau à distance.

Installer l'application Chrome Bureau à distance

L'application de bureau à distance Chrome permet l'affichage dans une fenêtre séparée et offre des raccourcis clavier qui sont normalement interceptés par Chrome pour être utilisés sur le système distant.

Si cette application n'est pas installée, procédez comme suit :

  1. Ouvrez le panneau Options de session en utilisant le bouton qui s'affiche lorsque vous déplacez la souris sur le côté de la fenêtre.
  2. Dans la section Install App (Installer l'application), cliquez sur Begin (Commencer).
  3. Cliquez sur Installer.

La session de bureau à distance s'ouvre à nouveau dans sa propre fenêtre d'application.

Vous pouvez déplacer toutes les sessions Bureau à distance d'un onglet Chrome vers la fenêtre de l'application en cliquant sur l'icône Ouvrir avec dans la barre d'adresse.

Désactiver les animations et les effets dans Cinnamon

L'environnement de bureau Cinnamon utilise plusieurs fonctionnalités graphiques et animations, telles que les fenêtres et les menus semi-transparents qui apparaissent et disparaissent en fondu. Étant donné que l'affichage de ces animations prend plus de temps sur une connexion à distance, l'interface utilisateur peut être ralentie.

Pour désactiver ces effets, procédez comme suit :

  1. Dans l'environnement de bureau Cinnamon, sélectionnez Menu > Preferences > Effects (Menu > Préférences > Effets).

    Définir les préférences de l'environnement de bureau dans Cinnamon.

  2. Désactivez tous les effets.

    Désactiver les effets d'animation dans Cinnamon.

Définir un mot de passe utilisateur

Le compte utilisateur créé par Compute Engine ne possède pas de mot de passe. Toutefois, plusieurs environnements de bureau en demande un pour déverrouiller les économiseurs d'écran et autoriser les actions administratives. Il est donc important de définir un mot de passe pour l'utilisateur :

  1. Connectez-vous à l'instance à l'aide de SSH, comme vous l'avez fait lorsque vous avez configurée celle-ci pour la première fois.
  2. Créez un mot de passe pour l'utilisateur en exécutant la commande suivante :

    sudo passwd $(whoami)
    

Désactiver les économiseurs d'écran et les écrans de verrouillage

Étant donné que vous accédez à l'environnement de bureau à partir d'un ordinateur distant, il n'est généralement pas nécessaire d'utiliser un économiseur d'écran ou un programme de verrouillage d'écran et vous pouvez donc désactiver ce dernier.

Xfce

  1. Dans le menu Applications, sélectionnez Paramètres > Économiseur d'écran.
  2. Définissez l'option Mode sur Disable Screen Saver (Désactiver l'économiseur d'écran).

Cinnamon

  1. Dans l'environnement de bureau, sélectionnez Menu > Préférences > Économiseur d'écran.
  2. Dans l'onglet Paramètres, définissez Délai sur Jamais et désactivez les deux paramètres de verrouillage suivants pour verrouiller automatiquement l'écran.

Gnome

  1. Sur le bureau, cliquez sur Activités et saisissez Settings.
  2. Sélectionnez l'application Paramètres.
  3. Dans l'application Paramètres, sélectionnez Confidentialité > Verrouillage de l'écran.
  4. Désactivez le verrouillage automatique de l'écran et fermez la boîte de dialogue.
  5. Sélectionnez Appareils > Clavier.
  6. Dans la liste des raccourcis clavier, accédez à la section Système, puis cliquez sur Écran de verrouillage.
  7. Appuyez sur la touche Backspace pour désactiver le raccourci, puis cliquez sur Set (Définir).
  8. Sélectionnez Alimentation et définissez Écran vide sur Jamais.

Gnome classique

  1. Dans l'environnement de bureau, sélectionnez Applications > Outils système > Paramètres.
  2. Dans l'application Paramètres, sélectionnez Confidentialité > Verrouillage de l'écran.
  3. Désactivez le verrouillage automatique de l'écran et fermez la boîte de dialogue.
  4. Sélectionnez Appareils > Clavier.
  5. Dans la liste des raccourcis clavier, accédez à la section Système, puis cliquez sur Écran de verrouillage.
  6. Appuyez sur la touche Backspace pour désactiver le raccourci, puis cliquez sur Set (Définir).
  7. Sélectionnez Alimentation et définissez Écran vide sur Jamais.

KDE Plasma

  1. Sur le bureau, cliquez sur le bouton de menu KDE, puis saisissez Screen Locking.
  2. Sélectionnez l'application Verrouillage d'écran.
  3. Dans l'application Configurer le verrouillage de l'écran, désactivez Verrouiller l'écran automatiquement après et cliquez sur le bouton pour effacer le raccourci clavier.
  4. Cliquez sur OK.

Augmenter la résolution du bureau

Si vous disposez d'un écran à très haute résolution, vous constaterez peut-être que la taille maximale par défaut du bureau à distance (1 600 x 1 200) est trop petite. Si tel est le cas, vous pouvez l'augmenter pour qu'elle corresponde à la résolution de votre écran.

  1. Utilisez SSH pour vous connecter à l'instance.
  2. Configurez la variable d'environnement CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES pour inclure la résolution de votre écran.

    echo "export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1600x1200,3840x2560" \
        >> ~/.profile
    
  3. Redémarrez le service.

    sudo systemctl restart chrome-remote-desktop@$USER
    

Activez le codec vidéo avancé :

Le codec AV1 aux couleurs haute qualité améliore la qualité de l'image et permet un meilleur encodage des informations sur les couleurs pures (telles que le texte) :

  1. Ouvrez le panneau Options de session en utilisant le bouton qui s'affiche lorsque vous déplacez la souris sur le côté de la fenêtre.
  2. Dans le champ Codec vidéo, sélectionnez AV1.
  3. Assurez-vous que le champ Couleur haute qualité est activé.

Sélectionner un autre environnement de bureau

Dans la section précédente, vous avez défini un environnement de bureau par défaut dans le fichier de configuration global /etc/chrome-remote-desktop-session. Vous pouvez également sélectionner un autre environnement de bureau (s'il est installé) en le spécifiant dans le fichier de configuration .chrome-remote-desktop-session de votre répertoire d'accueil :

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 classique

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

Une fois cette modification effectuée, redémarrez le service pour que la modification prenne effet :

sudo systemctl restart chrome-remote-desktop@$USER

Comme indiqué précédemment, le bureau à distance Chrome n'accepte pas l'accélération graphique 3D. Par conséquent, vous devez désactiver les graphiques 3D des environnements de bureau qui utilisent ces fonctionnalités. Sinon, la session ne démarre pas.

Automatiser le processus d'installation

Lorsque vous devez configurer plusieurs machines à l'aide du bureau à distance Chrome, la procédure d'installation manuelle peut s'avérer répétitive. Pour automatiser ce processus, utilisez un script de démarrage personnalisé en procédant comme suit.

Pour les besoins de ce tutoriel, nous utilisons le type de machine par défaut avec un disque de démarrage Debian Linux. Si vous l'utilisez pour votre propre environnement, vous pouvez ajuster le type de machine, le nom, la région, la taille du disque de démarrage ou d'autres paramètres.

  1. Dans la console Google Cloud, accédez à la page Instances de VM :

    Accéder à la page Instances de VM

  2. Cliquez sur Créer une instance.

  3. Définissez le nom de l'instance sur crdhost-autoinstall.

  4. Faites défiler la page jusqu'à la section Options avancées et développez-la.

  5. Développez la section Gestion.

  6. Copiez le script shell suivant et collez-le dans le champ Automatisation/Script de démarrage :

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

    Ce script effectue les tâches suivantes à chaque redémarrage de la machine :

    • Si le package de Bureau à distance n'est pas installé :
      • Ajoute le dépôt du package Debian du Bureau à distance Chrome.
      • Installation du package et des dépendances du Bureau à distance Chrome
    • Installe les environnements de bureau Xfce ou Cinnamon (en fonction des paramètres de script).
    • Si l'option d'environnement de bureau complet est activée, installe les packages nécessaires.
    • Si l'option du navigateur Google Chrome est activée, mais n'est pas installée :
      • Télécharge le package Google Chrome.
      • Installe Google Chrome et les packages dépendants.
  7. Cliquez sur Créer.

    La création de votre instance prend quelques instants. Lors de la première exécution avec toutes les options activées, le script peut prendre jusqu'à 10 minutes pour effectuer l'installation.

  8. Pour suivre l'avancement, connectez-vous en SSH à l'instance de VM, puis exécutez la commande suivante dans le terminal de l'instance :

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

    Cette commande affiche le résultat du script de démarrage. Lorsque le script est terminé, le résultat suivant s'affiche :

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

Ce script n'installe que les packages requis. Vous devez toujours configurer le service de bureau à distance pour votre utilisateur, comme décrit précédemment.

Il existe différentes manières de spécifier un script de démarrage lors de la création d'une instance de VM :

  • Collez-le dans la console Google Cloud (comme indiqué précédemment).
  • Stockez-le en tant que fichier sur une machine locale et utilisez l'option --metadata-from-file lorsque vous créez l'instance à l'aide de Google Cloud CLI.
  • Stockez-le dans un bucket Cloud Storage et spécifiez l'URL de l'objet dans la console ou dans gcloud CLI.

Pour en savoir plus sur les autres méthodes de configuration du script de démarrage, consultez la page Exécuter des scripts de démarrage dans la documentation Compute Engine.

Dépannage

Cette section fournit des conseils de dépannage pour ce guide.

Vérifier l'état du service Bureau à distance Chrome

Si le service Bureau à distance Chrome ne répond pas, vous pouvez vérifier son état en utilisant SSH pour vous connecter à l'instance et en exécutant la commande suivante :

sudo systemctl status chrome-remote-desktop@$USER

Si le service est en cours d'exécution, un message indiquant l'état active s'affiche :

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

Pour redémarrer le service, utilisez la commande suivante dans la fenêtre SSH :

sudo systemctl restart chrome-remote-desktop@$USER

Obtenir des informations de journalisation et d'erreurs

Le service Bureau à distance Chrome écrit les informations de journalisation dans les journaux système :

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

Vous pouvez rechercher des messages d'erreur dans ces fichiers journaux.

Réactiver le service

Si vous avez désactivé par erreur les connexions à l'instance distante dans l'application cliente, vous pouvez reconfigurer le service, puis le réactiver en suivant les instructions de la page Configurer et démarrer le service Bureau à distance Chrome.

Vérifiez les fichiers de configuration de session globaux et spécifiques à l'utilisateur.

Vérifiez le contenu du fichier de configuration /etc/chrome-remote-desktop-session global et du fichier de configuration ~/.chrome-remote-desktop-session spécifique à l'utilisateur, et vérifiez que les environnements de bureau spécifiés sont installés.

Nettoyer

Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.

Supprimer le projet

Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.

Pour supprimer le projet :

  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.

Supprimer l'instance Compute Engine

Au lieu de supprimer le projet complet, vous pouvez supprimer l'instance de VM créée pour ce tutoriel. Pour ce faire, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Instances de VM :

    Accéder à la page Instances de VM

  2. Cochez le nom de l'instance créée précédemment (crdhost).

  3. Cliquez sur le bouton Delete (Supprimer) se trouvant en haut de la page.

    Supprimer l'instance de VM.

    La suppression de l'instance prend quelques instants.

Annuler l'autorisation attribuée à l'instance dans le bureau à distance Chrome

Si vous ne souhaitez plus vous connecter à l'instance de VM, vous pouvez la désactiver et la supprimer de la liste Remote Devices (appareils distants).

  1. Sur votre ordinateur local, accédez à la page web Liste des appareils distants pour le service Bureau à distance Chrome.
  2. Cliquez sur à côté du nom de l'instance crdhost :
  3. Cliquez sur OK pour confirmer que vous souhaitez désactiver la connexion à l'appareil distant.

Étapes suivantes