Comment configurer un bureau à distance avec X2Go sur Debian 10
L'auteur a sélectionné Software in the Public Interest (SPI) pour recevoir un don dans le cadre du programme Write for DOnations.
Introduction
Habituellement, les serveurs basés sur Linux ne sont pas livrés avec une interface utilisateur graphique (GUI) préinstallée. Chaque fois que vous souhaitez exécuter des applications GUI sur votre instance, la solution typique consiste à utiliser Virtual Network Computing (VNC). Malheureusement, VNC est notoirement lent, peu sécurisé par défaut et nécessite beaucoup de configuration manuelle pour être opérationnel.
En revanche, X2Go fournit un "bureau cloud" fonctionnel, avec tous les avantages d'un système informatique toujours en ligne, accessible à distance et facilement évolutif avec un réseau très rapide. Il est également plus réactif et plus sécurisé que de nombreuses solutions VNC. Dans ce didacticiel, vous utiliserez X2Go pour créer un environnement de bureau Debian 10 XFCE auquel vous pourrez accéder à distance. Ce "bureau cloud" comprendra exactement les mêmes utilitaires que vous obtiendriez si vous aviez installé Debian 10 et l'environnement XFCE sur votre ordinateur personnel.
La configuration décrite dans ce didacticiel est utile lorsque :
- Vous devez avoir accès à un système d'exploitation basé sur Linux, avec un environnement de bureau, mais vous ne pouvez pas l'installer sur votre ordinateur personnel.
- Vous utilisez plusieurs appareils à plusieurs endroits et souhaitez disposer d'un environnement de travail cohérent avec les mêmes outils, la même apparence, les mêmes fichiers et les mêmes performances.
- Votre fournisseur d'accès Internet vous donne très peu de bande passante, mais vous avez besoin d'accéder à des dizaines ou des centaines de gigaoctets de données.
- Les travaux de longue durée rendent votre ordinateur local indisponible pendant des heures ou des jours. Imaginez que vous devez compiler un projet très volumineux, et cela prendra 8 heures sur votre ordinateur portable. Vous ne pourrez pas regarder de films ou faire quoi que ce soit d'autre très gourmand en ressources pendant la compilation de votre projet. Mais si vous exécutez de telles tâches sur votre serveur, votre ordinateur est désormais libre d'effectuer d'autres tâches.
- Vous travaillez avec une équipe et il leur est avantageux de disposer d'un ordinateur commun auquel ils peuvent accéder pour collaborer sur un projet.
Conditions préalables
Avant de commencer ce tutoriel, vous aurez besoin de :
- Une instance Debian 10 x64 avec 2 Go de RAM ou plus. 2 Go est minime et il est recommandé d'utiliser un serveur de 4 Go ou plus si vous prévoyez d'exécuter des applications gourmandes en mémoire. Vous pouvez utiliser un DigitalOcean Droplet si vous le souhaitez.
- Un utilisateur avec des privilèges
sudo
et une clé SSH. Suivez ce guide pour commencer : Configuration initiale du serveur avec Debian 10. Assurez-vous de terminer l'étape 4 et de configurer votre pare-feu pour restreindre toutes les connexions à l'exception d'OpenSSH.
Étape 1 - Installation de l'environnement de bureau
Avec votre serveur en place et votre pare-feu configuré, vous êtes maintenant prêt à installer l'environnement graphique du serveur X2Go.
Dans ce didacticiel, vous installez XFCE comme environnement de bureau. XFCE n'utilise pas d'effets graphiques fantaisistes comme la composition, ce qui le rend plus compatible avec X2Go et lui permet d'optimiser les mises à jour de l'écran. Pour référence, LXDE
et MATE
(avec la composition désactivée) fonctionnent également correctement, mais vous devrez modifier la commande dans ce didacticiel où vous installez l'environnement de bureau. Par exemple, au lieu de sudo apt-get install xfce4
, vous taperez sudo apt-get install lxde
.
Il existe deux façons d'installer facilement XFCE, mais vous n'avez qu'à choisir un—soit l'environnement de bureau minimal ou l'environnement de bureau complet.
Environnement de bureau complet : recommandé. Si vous ne voulez pas sélectionner tous les composants dont vous avez besoin et préférez avoir un ensemble de packages par défaut, comme un traitement de texte, un navigateur Web, un client de messagerie et d'autres accessoires préinstallés, vous pouvez choisir task-xfce-desktop
.
Installez et configurez l'environnement de bureau complet. Ceci est similaire à ce que vous obtiendriez si vous installiez Debian à partir d'un DVD/clé USB amorçable sur votre PC local :
sudo apt-get install task-xfce-desktop
Environnement de bureau minimal : Alternativement, si vous souhaitez installer un petit ensemble de packages de base, puis les développer en ajoutant manuellement tout ce dont vous avez besoin par la suite, vous pouvez utiliser le xfce4
[ X208X]métapaquet.
Un métapaquet ne contient pas de logiciel propre, il dépend simplement des autres paquets à installer, ce qui permet d'installer une collection entière de paquets à la fois sans avoir à taper chaque nom de paquet individuellement sur la ligne de commande.
Installez xfce4
et toutes les dépendances supplémentaires nécessaires pour le prendre en charge :
sudo apt-get install xfce4
Maintenant que votre environnement graphique est installé, vous allez établir un moyen de le visualiser à distance.
Étape 2 - Installation de X2Go sur le serveur
X2Go est livré avec deux composants principaux : le serveur, qui démarre et gère la session graphique sur la machine distante, et le client, que vous installez sur votre ordinateur local pour afficher et contrôler le bureau ou l'application distante.
Dans les versions précédentes de Debian, x2goserver
n'était pas inclus dans les référentiels par défaut, vous deviez donc suivre des étapes comme celles-ci pour obtenir le package logiciel. Nous laissons le lien ici, juste pour référence, au cas où le paquet serait abandonné dans les futures versions de Debian. Heureusement, Debian 10, nom de code Buster, inclut le paquet dont vous avez besoin dans ses dépôts par défaut, donc l'installation est un peu plus facile.
Pour installer X2Go sur votre serveur, tapez la commande suivante :
sudo apt-get install x2goserver x2goserver-xsession
À ce stade, aucune configuration supplémentaire n'est requise sur votre serveur. Cependant, gardez à l'esprit que puisque l'authentification par mot de passe SSH est désactivée, pour une sécurité accrue, vous devrez avoir votre clé privée SSH disponible sur n'importe quelle machine à partir de laquelle vous souhaitez vous connecter. Ce sera le cas si vous avez suivi la recommandation de configuration des clés SSH dans le tutoriel Configuration initiale du serveur avec Debian 10 listé dans les prérequis. Si vous ne l'avez pas fait, vous pouvez toujours vous connecter avec un mot de passe, mais assurez-vous d'en choisir un fort.
N'oubliez pas que si vous manquez de RAM, certaines applications peuvent être arrêtées brusquement par le noyau Linux, et vous risquez alors de perdre le travail en cours. Si vous utilisez un Droplet DigitalOcean et que vous remarquez que vos programmes nécessitent plus de RAM, vous pouvez éteindre temporairement votre Droplet et mettre à niveau (redimensionner) vers un autre avec plus de mémoire.
Vous avez maintenant terminé la configuration du serveur et vous pouvez taper exit
ou fermer la fenêtre du terminal. Le reste des étapes se concentrera sur la configuration du client sur votre machine locale.
Étape 3 - Installation du client X2Go localement
X2Go est prêt à l'emploi dès sa sortie de l'emballage. Si vous utilisez Windows ou Mac sur votre ordinateur local, vous pouvez télécharger le logiciel client X2Go ici. Si vous utilisez Debian ou Ubuntu, vous pouvez installer le client X2Go avec cette commande sur votre machine locale :
sudo apt-get install x2goclient
Après avoir téléchargé le logiciel, vous êtes prêt à l'installer. Ouvrez le programme d'installation et sélectionnez votre langue préférée. Acceptez maintenant la licence et laissez l'assistant vous guider à travers les étapes restantes. Normalement, il ne devrait y avoir aucune raison de modifier les valeurs par défaut préremplies dans ces étapes.
X2Go fonctionne bien hors de la boîte, mais il est également hautement personnalisable. Si vous souhaitez des informations supplémentaires, consultez la documentation officielle de X2Go.
Maintenant que le client de bureau est installé, vous pouvez configurer ses paramètres et vous connecter au serveur X2Go pour utiliser votre bureau XFCE distant.
Étape 4 - Connexion au bureau à distance
Lorsque vous ouvrez le client X2Go pour la première fois, la fenêtre suivante apparaît. Si ce n'est pas le cas, cliquez sur Session dans le menu en haut à gauche, puis sélectionnez Nouvelle session….
Dans le champ Nom de la session, entrez quelque chose pour aider à différencier les serveurs. Cela peut être particulièrement utile si vous prévoyez de vous connecter à plusieurs machines.
Saisissez l'adresse IP ou le nom d'hôte de votre serveur dans le champ Hôte sous Serveur.
Entrez le nom d'utilisateur que vous avez utilisé pour votre connexion SSH dans le champ Connexion.
Et, puisque vous avez installé XFCE à l'étape 2, choisissez XFCE
comme Type de session.
Enfin, comme vous vous connectez au serveur avec des clés SSH, cliquez sur l'icône de dossier à côté de Utiliser la clé RSA/DSA pour la connexion ssh et accédez à votre clé privée. Si vous n'avez pas choisi d'utiliser les clés SSH plus sécurisées, laissez simplement ce champ vide et le client X2Go vous demandera un mot de passe à chaque fois que vous vous connecterez.
Le reste des paramètres par défaut suffira pour l'instant, mais à mesure que vous vous familiariserez avec le logiciel, vous pourrez affiner le client en fonction de vos préférences individuelles.
Après avoir appuyé sur le bouton OK, vous pouvez démarrer votre session graphique en cliquant sur la case blanche qui inclut le nom de votre session en haut à droite de la case.
Si vous exécutez OS X sur votre ordinateur local, vous serez peut-être invité à installer xquartz, qui est requis pour exécuter X11. Si c'est le cas, suivez les instructions pour l'installer maintenant.
Dans quelques secondes, votre bureau distant s'affichera et vous pourrez commencer à interagir avec lui. Lors de votre première connexion, XFCE vous demandera si vous souhaitez Utiliser la configuration par défaut ou Un panneau vide. La première option créera un panneau rectangulaire ancré au bas de l'écran, contenant quelques raccourcis d'application utiles (par exemple un gestionnaire de fichiers, un émulateur de terminal, un navigateur, etc.). Cette option ajoutera également un panneau supérieur au bureau qui comprend des utilitaires comme un lanceur d'applications, une horloge, un menu d'arrêt, etc.
À moins que vous ne soyez déjà familiarisé avec XFCE, opter pour un panneau vide peut être plus compliqué car vous repartirez de zéro. Il n'y aura pas de barre des tâches, pas d'horloge et pas de menu de démarrage préconfiguré ; ce sera à vous de tout ajouter vous-même à un panneau vide.
De plus, sur les systèmes d'exploitation Windows et Linux, il existe quelques raccourcis clavier utiles que vous pouvez utiliser pour une meilleure expérience :
CTRL+ALT+F
activera et désactivera le mode plein écran. Travailler en mode plein écran peut ressembler davantage à une expérience de bureau local. De plus, d'autres raccourcis clavier seront saisis par le système d'exploitation distant au lieu du local.
CTRL+ALT+M
minimisera la vue à distance, même si vous êtes en mode plein écran
CTRL+ALT+T
se déconnectera de la session mais laissera l'interface graphique en cours d'exécution sur le serveur. C'est juste un moyen rapide de se déconnecter sans se déconnecter ni fermer les applications sur le serveur. La même chose se produira si vous cliquez sur le bouton de fermeture de la fenêtre.
Enfin, il existe deux manières de mettre fin à la session à distance et de fermer tous les programmes graphiques qui y sont exécutés. Vous pouvez vous déconnecter à distance depuis le menu de démarrage de XFCE, ou vous pouvez cliquer sur le bouton marqué d'un cercle et d'une petite ligne (comme une icône d'alimentation/veille) dans le coin inférieur droit de la partie principale du Écran X2Go.
La première méthode est plus propre mais peut laisser des programmes comme le logiciel de gestion de session en cours d'exécution. La deuxième méthode fermera tout mais peut le faire avec force si un processus ne peut pas se terminer proprement. Dans les deux cas, assurez-vous de sauvegarder votre travail avant de continuer.
Et enfin, bien que ce ne soit pas obligatoire, allons dans le panneau de configuration de XFCE, naviguons jusqu'aux paramètres d'alimentation et désactivons toutes les fonctions de veille. Si vous n'utilisez pas le bureau pendant un certain temps, XFCE essaiera de déclencher une mise en veille. Bien que le serveur ne fasse normalement rien lorsqu'il reçoit cette demande, il est préférable d'éviter complètement tout comportement imprévu.
En allant dans le menu Applications, puis Paramètres, vous pouvez ouvrir Power Manager.
Dans cette application, accédez à l'onglet Système et faites glisser le curseur Lorsque inactif pour complètement vers la gauche. Vous devriez maintenant voir le texte Jamais sous ce curseur, ce qui signifie que XFCE n'essaiera pas de mettre le système en veille après qu'il soit inactif pendant un certain temps.
Vous avez maintenant accédé et configuré avec succès votre bureau à distance.
Conclusion
Dans ce didacticiel, vous avez utilisé X2Go pour créer un environnement graphique robuste et distant pour le système d'exploitation Debian. Voici quelques idées supplémentaires sur la façon d'utiliser ce bureau. Vous pouvez centraliser votre travail de développement en créant un référentiel git, en installant un IDE/éditeur de code comme NetBeans ou Eclipse, ou en configurant un serveur Web pour tester les applications Web. Vous pouvez également améliorer votre bureau à distance avec un bon schéma de sauvegarde pour vous assurer que votre environnement de travail et vos données importantes sont conservés en toute sécurité en cas de problème. Avec DigitalOcean, vous pouvez également instantaner vos gouttelettes lorsque vous êtes satisfait d'une certaine configuration. De cette façon, vous pouvez tester des changements risqués et toujours revenir à un bon état connu au cas où vous casseriez quelque chose.
Si vous souhaitez en savoir plus, visitez le site Web de documentation officiel de X2Go.