Comment installer une interface graphique sur mon instance Amazon EC2 exécutant Amazon Linux 2 ?

Date de la dernière mise à jour : 20/04/2021

Je souhaite installer une interface utilisateur graphique (GUI) dans mon instance Amazon Elastic Compute Cloud (Amazon EC2) exécutant Amazon Linux 2. Quelle est la marche à suivre ?

Brève description

Avant de poursuivre, veuillez considérer l'une de ces alternatives à l'installation manuelle d'une interface graphique :

  • Lancez à partir d'une AMI Amazon Linux 2 fournie avec MATE préinstallé. Consultez Configuration de la connexion au bureau Amazon Linux 2 MATE pour plus de détails.
  • Commencez à utiliser Amazon WorkSpaces, un service de virtualisation de bureau permanent entièrement géré qui permet à vos utilisateurs d'accéder aux données, applications et ressources dont ils ont besoin, partout, à tout moment et à partir de n'importe quel appareil pris en charge. Consultez la page d'accueil du produit pour plus de détails.
  • Commencez à utiliser NICE DCV, un protocole d'affichage à distance très performant qui offre aux clients un moyen sécurisé de fournir des bureaux à distance et un flux d'applications en streaming depuis n'importe quel cloud ou centre de données vers n'importe quel appareil, dans des conditions de réseau variables. Consultez la page d'accueil du produit pour plus de détails.

Si vous souhaitez procéder à l'installation manuelle de l'interface graphique, procédez comme suit :

  1. Installez l'environnement de bureau MATE, une interface graphique légère basée sur GNOME 2 disponible en supplément pour Amazon Linux 2. Pour plus d'informations sur MATE, consultez le site Web de l'environnement de bureau MATE.
  2. Installez un service VNC (Virtual Network Computing) comme TigerVNC. Pour plus d'informations sur TigerVNC, consultez le site Web suivant : tigervnc.org.
  3. Connectez-vous à l'interface graphique à l'aide du VNC.
  4. (Facultatif) Désactivez l'authentification par mot de passe pour VNC.
  5. (Facultatif) Installez un navigateur Web, tel que Chromium ou Firefox. Pour plus d'informations sur Chromium, consultez le site Web chromium.org. Pour plus d'informations sur Firefox, consultez le site Web mozilla.org. Notez que Chromium n'est disponible que dans la variante x86 du référentiel EPEL.

Remarque : ces instructions s'appliquent uniquement à Amazon Linux 2. Pour vérifier la version que vous exécutez, exécutez la commande suivante :

$ grep PRETTY_NAME /etc/os-release
PRETTY_NAME="Amazon Linux 2"

Pour obtenir des instructions sur l'accès à une instance macOS EC2 à l'aide d'une interface utilisateur graphique, consultez la page Comment puis-je accéder à mon instance Mac Amazon EC2 via une interface utilisateur graphique ?

Résolution

Avant de commencer

1.    Connectez-vous à votre instance en tant qu'utilisateur EC2-à l'aide du protocole SSH.

L'instance doit se trouver dans un sous-réseau public et être accessible via une adresse IP publique ou une adresse IP Elastic. Vous pouvez également établir une connexion à l'aide d'AWS VPN ou d'AWS Direct Connect, qui vous permet d'accéder à votre instance via une adresse IP privée. Ces instructions ne s'appliquent pas aux environnements utilisant un hôte bastion. Pour des raisons de sécurité, le trafic vers le serveur VNC est acheminé par tunnel à l'aide du protocole SSH. Une bonne pratique consiste à éviter d'ouvrir des ports VNC dans vos groupes de sécurité.

2.    Mettez à jour votre instance en exécutant sudo yum update, puis redémarrez-la. En l'absence de mise à jour et de redémarrage, vous pouvez obtenir des résultats imprévisibles lorsque vous suivez les étapes ci-dessous.

Installer l'environnement de bureau MATE

1.    Installez les packages MATE.

sudo amazon-linux-extras install mate-desktop1.x

2.    Définissez MATE comme bureau par défaut pour tous les utilisateurs.

sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'

Installer TigerVNC

1.    Installez le serveur TigerVNC :

sudo yum install tigervnc-server

2.    Configurez un mot de passe propre à VNC contenant 6 à 8 caractères pour cet utilisateur. Lorsque vous êtes invité à saisir un mot de passe en lecture seule, appuyez sur « n ».

vncpasswd

3.    Limitez l'accès au réseau VNC à l'hôte local, de sorte que l'on ne puisse accéder à VNC que via un tunnel SSH sécurisé.

Créez le répertoire de configuration de tigervnc :

sudo mkdir /etc/tigervnc

Créez un fichier de configuration obligatoire contenant l'option localhost :

sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'

4.    Démarrez le serveur VNC sur l'écran numéro 1 et faites en sorte qu'il démarre toujours au moment du démarrage.

Créez une nouvelle unité systemd.

sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service

Utilisez la commande sed pour remplacer toutes les occurrences de USER dans la nouvelle unité par ec2-user.

sudo sed -i 's/<USER>/ec2-user/' /etc/systemd/system/vncserver@.service

Rechargez la configuration de gestionnaire systemd.

sudo systemctl daemon-reload

Activez le service.

sudo systemctl enable vncserver@:1

Démarrez le service.

sudo systemctl start vncserver@:1

Se connecter à l'interface graphique en utilisant VNC

1.    Installez le logiciel TigerVNC sur votre ordinateur local, s'il n'est pas déjà installé. TigerVNC est disponible pour Windows, Linux et macOS. Consultez le site Web TigerVNC pour accéder au téléchargement.

Windows : téléchargez et installez tigervnc64-x.y.z.exe (64 bits) ou tigervnc-x.y.z.exe (32 bits), où x.y.z représente la dernière version.

Linux : le package tigervnc est disponible dans les référentiels de nombreuses distributions et peut être installé à l'aide de leurs gestionnaires de paquets respectifs.

macOS : téléchargez et installez TigerVNC-X.Y.Z.dmg, où x.y.z représente la dernière version.

2.    Sur votre ordinateur local, utilisez le protocole SSH pour vous connecter à votre instance tout en créant un tunnel pour transférer l'ensemble du trafic du port local 5901/TCP (VNC) vers le serveur VNC de l'instance :

Linux et macOS

Lorsque vous vous connectez à votre instance à l'aide de SSH, ajoutez le paramètre -L pour activer la redirection de port. Remplacez PEM_FILE par votre clé privée et INSTANCE_IP par l'adresse IP publique ou privée de votre instance, le cas échéant.

ssh -L 5901:localhost:5901 -i PEM_FILE ec2-user@INSTANCE_IP

Windows

Lors de l'ouverture de la connexion avec PuTTY, configurez la redirection de port, puis ouvrez la connexion :
    Dans le menu Connection (Connexion), sélectionnez SSH, puis Tunnels.
    Saisissez 5901 dans le champ Source Port (Port source).
    Entrez localhost:5901 dans le champ Destination.
    Sélectionnez Ajouter.

3.    Ouvrez la visionneuse TigerVNC sur votre ordinateur local. Lorsque vous êtes invité à indiquer le nom d'hôte du, serveur VNC, saisissez localhost:1 puis connectez-vous à celui-ci.

4.    Saisissez le mot de passe VNC que vous avez configuré à l'étape 2 de la section Installer TigerVNC. Si une alerte apparaît indiquant que la connexion n'est pas sécurisée, ignorez-la. Vous accédez au serveur VNC en utilisant un tunnel SSH chiffré.

Votre environnement de bureau MATE apparait.

(Facultatif) Désactivez l'authentification par mot de passe pour VNC

AWS ne vous recommande pas de désactiver l'authentification par mot de passe pour VNC. Tout utilisateur capable de se connecter par SSH à votre instance pourra créer un tunnel et accéder à votre bureau VNC. S'il s'agit d'une instance mono-utilisateur (c'est-à-dire qu'aucune autre personne ne peut se connecter) et que vous souhaitez quand même désactiver l'authentification par mot de passe pour VNC, suivez ces étapes :

1.    Modifiez le paramètre Types de sécurité du serveur VNC sur Aucun :

echo SecurityTypes=None >> ~/.vnc/config

2.    Redémarrez le serveur VNC.

sudo systemctl restart vncserver@:1

(Facultatif) Installez un navigateur Web

AWS ne fournit actuellement pas de navigateurs Web tels que Chromium ou Firefox dans les référentiels d'Amazon Linux 2. Pour installer l'un de ces navigateurs, suivez les étapes ci-dessous.

Remarque : AWS ne prend pas en charge les logiciels installés à partir de sources tierces.

Pour installer Chromium (projet open source derrière Google Chrome), procédez comme suit :

1.    Activez le référentiel EPEL . Pour plus d'informations, consultez la documentation EPEL sur le site Web Fedoraproject.org.

sudo amazon-linux-extras install epel

2.    Installez les packages Chromium.

sudo yum install chromium

Chromium s'installe sur MATE sous Applications, Internet, Chromium Web Browser.

Pour installer Mozilla Firefox (utilisateur actuel uniquement), procédez comme suit :

1.    Téléchargez la dernière version Firefox pour Linux 64 bits sur votre ordinateur local. Consultez le site Web mozilla.org pour accéder au téléchargement.

2.    Après avoir téléchargé Firefox, copiez le fichier dans votre instance.

3.    Extrayez le contenu du fichier. La commande ci-dessous indique que le fichier se trouve dans le répertoire de base de l'utilisateur ec2-user. Modifiez le chemin d'accès et la version Firefox selon vos besoins.

tar jxf ~/firefox-xx.y.tar.bz2 -C ~/

4.    Créez une icône de bureau à l'aide de vim ou de votre éditeur préféré. Créez le fichier ~ /Desktop/Firefox.desktop avec le contenu présenté dans l'exemple suivant.

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png
Icon[en_US]=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png
Name[en_US]=Firefox
Exec=/home/ec2-user/firefox/firefox
Comment[en_US]=Firefox web browser
Name=Firefox
Comment=Firefox web browser
GenericName[en_US.UTF-8]=Firefox web browser
Categories=Network;WebBrowser;

5.    Utilisez l'icône que vous avez créée à l'étape 4 sur votre bureau pour lancer Firefox.

6.    Si un message s'affiche indiquant que le lanceur d'applications n'est pas marqué comme approuvé, cliquez sur Marquer comme approuvé, puis double-cliquez à nouveau pour ouvrir Firefox.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?