Configuration et sur un serveur virtuel, nous avons déjà maîtrisé, il ne nous reste plus qu'à explorer une autre option de connexion à un bureau virtuel Linux. Les possibilités offertes par la société protocole sont assez intéressantes, surtout qu'il fonctionne bien sur des canaux lents. Les solutions serveur propriétaires coûtent cher (les clients sont gratuits), mais il existe aussi une implémentation libre, dont nous parlerons dans cet article — le système . Il a été dérivé du projet open source , lorsque NoMachine a cessé de le supporter et l'a laissé se débrouiller tout seul.
Table des matières :
Installation de l'environnement graphique
Pour un bureau graphique virtuel sur Linux, des machines puissantes ne sont pas nécessaires tant que l'utilisateur ne commence pas à exécuter des applications. Pour nos tests, nous utiliserons une machine moyenne avec Ubuntu Server 18.04 LTS, dotée de deux cœurs de calcul, de quatre gigaoctets de RAM et d'un disque dur (HDD) de vingt gigaoctets. Des images d'Ubutnu Server 20.04 LTS sont déjà disponibles sur RuVDS, le processus de configuration de la version plus récente sera similaire. N'oubliez pas d'utiliser le code promo Habrahabr10 pour obtenir une réduction de 10 % lors de la commande.

Comme environnement de bureau, nous choisissons à nouveau XFCE en raison de ses exigences relativement faibles en ressources. De plus, le lancement de ce DE via un accès distant dans des environnements virtuels ne pose aucun problème :
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Localisation du serveur et installation des logiciels
À l'étape suivante, il est recommandé de configurer la localisation et d'installer un ensemble minimal d'applications : un navigateur, un client de messagerie et une suite bureautique. Tout d'abord, installons les traductions pour les programmes système :
sudo apt-get install language-pack-frConfigurons la localisation :
sudo update-locale LANG=fr_FR.UTF-8Le même résultat peut être atteint en modifiant manuellement le fichier /etc/default/locale.
Pour la localisation de GNOME et KDE, il existe des paquets language-pack-gnome-fr et language-pack-kde-fr dans le dépôt — ils seront nécessaires si vous utilisez des programmes de ces environnements de bureau. Dans XFCE, les traductions sont installées avec les applications. Ensuite, vous pouvez installer des dictionnaires :
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict
De plus, l'installation des traductions peut être nécessaire pour certaines applications :
# Браузер Firefox
sudo apt-get install firefox firefox-locale-ru
# Почтовый клиент Thunderbird
sudo apt-get install thunderbird thunderbird-locale-ru
# Офисный пакет LibreOffice
sudo apt-get install libreoffice libreoffice-l10n-ru libreoffice-help-ru
На этом подготовка окружения рабочего стола завершена.
Installation du serveur X2Go
Les versions stables du serveur et du client X2Go peuvent être installées à partir du dépôt externe (Personal Packages Archive) sur ou à partir des dépôts standard des versions actuelles d'Ubuntu. Nous nous attarderons sur la deuxième option, car les versions du logiciel dans les deux sources sont identiques, mais si vous avez besoin de paquets supplémentaires, il faudra activer le dépôt tiers. Nous devons installer deux paquets :
sudo apt-get install x2goserver x2goserver-xsessionSi vous utilisez l'environnement MATE ou LXDE, des paquets supplémentaires sont nécessaires (pour XFCE, ils ne le sont pas) :
sudo apt-get install x2gomatebindings # si vous utilisez MATE/mubuntu
sudo apt-get install x2golxdebindings # si vous utilisez LXDE/lubuntu
La cerise sur le gâteau : X2Go fonctionne via SSH et ne nécessite pas d'autres configurations. Le sshd doit être activé sur le VPS et le port 22 doit être ouvert dans les règles du pare-feu. Comme il s'agit d'un serveur virtuel, cela devrait être fait par défaut. Sur une machine physique, rouvrir l'accès à distance via SSH n'est pas compliqué. Il reste juste à vérifier le statut du serveur X2Go :
sudo systemctl status x2goserver 
Il est également recommandé de créer un utilisateur non privilégié pour interagir avec l'environnement de bureau :
sudo adduser desktopuser 
Ajoutons l'utilisateur au groupe sudo afin qu'il puisse résoudre les tâches administratives liées. Si cela n'est pas nécessaire, cette étape peut être omise :
sudo gpasswd -a desktopuser sudo
Connexion au bureau
Le logiciel client X2Go pour Windows, Linux et OS X peut être sur projet. Le client Android est en cours de développement, et les applications mobiles gratuites de NoMachine ne sont pas compatibles avec le serveur X2Go. Si Ubuntu est installé sur l'ordinateur local, il suffit d'ajouter le paquet x2goclient :
sudo apt-get install x2goclientPour varier les environnements, cette fois nous prendrons le client pour :

Ici, vous pouvez configurer les paramètres de connexion, les périphériques d'entrée et de sortie, ainsi que les dispositifs multimédias.



Si tout a été fait correctement, le bureau XFCE apparaîtra après la connexion.

Lancement d'une application sur un ordinateur distant
Parfois, au lieu d'un environnement de bureau complet sur l'ordinateur distant, il faut lancer une application gourmande en ressources (comme une IDE). Cela n'est pas difficile, il suffit d'indiquer dans les paramètres de connexion le type de session correspondant et la commande.


Le navigateur est lancé sur un VPS distant avec Ubuntu
Il existe également des options d'utilisation plus exotiques pour X2Go : le système permet, par exemple, de se connecter à une session utilisateur sur un ordinateur distant (comme avec TeamViewer). Dans ce cas, les parties client et serveur doivent être installées sur les deux machines. De plus, il n'est pas nécessaire de définir des profils de sessions sur chaque client : il est possible d'installer et de configurer x2gobroker pour les définir sur le serveur. Pour cela, il faudra se connecter avec des paquets supplémentaires.
Avantages de X2Go
Contrairement au système VNC qui nécessite une bande passante élevée, X2Go utilise le protocole NX 3 avancé pour minimiser la quantité de données transférées. Le système dispose de son propre serveur X, et il nécessite pratiquement aucune configuration tout en offrant des fonctionnalités avancées. Nous avons seulement abordé les aspects les plus basiques, mais X2Go peut faire beaucoup plus, notamment la diffusion de son et de vidéo du serveur vers le client, l'impression sur une imprimante locale (il faudra installer des paquets supplémentaires sur le VPS pour configurer une imprimante virtuelle) et des répertoires partagés. L'interaction avec le serveur se fait via sshd, qui est fiable et éprouvé — des mécanismes d'authentification sécurisés, y compris avec des clés, sont à la disposition de l'utilisateur. X2Go configure automatiquement l'environnement lors de la connexion (il n'est pas nécessaire de garder le serveur X constamment actif), tout en prenant en charge le travail multi-utilisateurs et la plupart des environnements de bureau populaires, et la session n'est pas interrompue même après une déconnexion.
Source : habr.com
