Wie installiere ich eine GUI auf meiner Amazon-EC2-Instance, auf der Amazon Linux 2 ausgeführt wird?
Ich möchte eine grafische Benutzeroberfläche (GUI) in meiner Amazon-Elastic-Compute-Cloud-(Amazon-EC2)-Instance installieren, die auf Amazon Linux 2 ausgeführt wird. Wie gehe ich dazu vor?
Kurzbeschreibung
Bevor Sie fortfahren, sollten Sie eine dieser Alternativen zur manuellen Installation einer GUI in Betracht ziehen:
- Starten Sie von einem Amazon-Linux-2-AMI, das mit vorinstalliertem MATE geliefert wird. Weitere Informationen finden Sie unter Konfigurieren der Amazon-Linux-2-MATE-Desktop-Verbindung.
- Beginnen Sie mit der Nutzung von Amazon WorkSpaces, einem vollständig verwalteten, dauerhaften Desktop-Virtualisierungsservice. Weitere Informationen finden Sie unter Amazon WorkSpaces.
- Beginnen Sie mit der Verwendung von NICE DCV, einem Remote-Display-Protokoll, das Remote-Desktops und Anwendungsstreaming sicher von jeder Cloud oder jedem Rechenzentrum auf jedes Gerät bereitstellt. Weitere Informationen finden Sie unter NICE DCV.
Wenn Sie mit der manuellen GUI-Installation fortfahren möchten, gehen Sie wie folgt vor:
- Installieren Sie die MATE-Desktop-Umgebung, eine leichtgewichtige GUI, die auf GNOME 2 basiert und als Extra für Amazon Linux 2 erhältlich ist. Weitere Informationen zu MATE finden Sie auf der Website der MATE-Desktopumgebung.
- Installieren Sie einen Virtual-Network-Computing-Service (VNC) wie TigerVNC. Weitere Informationen zu TigerVNC finden Sie auf der Website tigervnc.org.
- Verbinden Sie sich über den VNC mit der GUI.
- (Optional) Deaktivieren Sie die Passwort-Authentifizierung für VNC
- (Optional) Installieren Sie einen Webbrowser wie Chromium oder Firefox. Weitere Informationen zu Chromium finden Sie auf der Website chromium.org. Weitere Informationen zu Firefox finden Sie auf der Website mozilla.org. Beachten Sie, dass sowohl Chromium als auch Firefox nur in der X86-Variante verfügbar sind.
Hinweis: Diese Anweisungen gelten nur für Amazon Linux 2. Führen Sie den folgenden Befehl aus, um die ausgeführte Version zu bestätigen:
$ grep PRETTY_NAME /etc/os-release PRETTY_NAME="Amazon Linux 2"
Anweisungen zum Zugreifen auf eine EC2-macOS-Instance über eine GUI finden Sie unter Wie kann ich über eine GUI auf meine Amazon-EC2-Mac-Instance zugreifen?
Auflösung
Bevor Sie beginnen
1. Verbinden Sie sich als EC2-Benutzer über SSH mit Ihrer Instance.
Die Instance muss sich in einem öffentlichen Subnetz befinden und über eine öffentliche IP-Adresse oder eine elastischen IP-Adresse zugänglich sein. Oder Sie können über AWS VPN oder AWS Direct Connect eine Verbindung herstellen, die Ihnen den Zugriff auf Ihre Instance über eine private IP ermöglicht. Diese Anweisungen gelten nicht für Umgebungen, die einen Bastion-Host verwenden. Aus Sicherheitsgründen wird der Datenverkehr zum VNC-Server über SSH getunnelt. Die bewährte Methode is es, das Öffnen von VNC-Ports in Ihren Sicherheitsgruppen zu vermeiden.
2. Aktualisieren Sie Ihre Instance, indem Sie sudo yum update ausführen und dann die Instance neu starten. Fehler beim Aktualisieren und Neustarten können zu unvorhersehbaren Ergebnissen führen, wenn Sie die folgenden Schritte ausführen.
Installieren Sie die MATE-Desktop-Umgebung
1. Installieren Sie MATE-Pakete.
sudo amazon-linux-extras install mate-desktop1.x
2. Definieren Sie MATE als Ihren Standard-Desktop für alle Benutzer.
sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'
TigerVNC installieren
1. Installieren Sie TigerVNC Server:
sudo yum install tigervnc-server
2. Konfigurieren Sie ein VNC-spezifisches Passwort mit sechs bis acht Zeichen für diesen Benutzer. Wenn Sie gefragt werden, ob Sie ein schreibgeschütztes Passwort eingeben möchten, drücken Sie „n“.
vncpasswd
3. Beschränken Sie den VNC-Netzwerkzugriff auf den lokalen Host, sodass auf VNC nur über einen sicheren SSH-Tunnel zugegriffen werden kann.
Erstellen Sie das tigervnc-Konfigurationsverzeichnis:
sudo mkdir /etc/tigervnc
Erstellen Sie eine verbindliche Konfigurationsdatei mit der Option localhost:
sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'
4. Starten Sie den VNC-Server auf Display Nummer 1 und lassen Sie ihn immer beim Booten starten.
Erstellen Sie eine neue systemd-Einheit.
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
Verwenden Sie den Befehl sed, um alle Vorkommen von USER in der neuen Einheit durch ec2-user zu ersetzen.
sudo sed -i 's/<USER>/ec2-user/' /etc/systemd/system/vncserver@.service
Laden Sie die systemd-Manager-Konfiguration neu.
sudo systemctl daemon-reload
Schalten Sie den Service ein.
sudo systemctl enable vncserver@:1
Starten Sie den Service.
sudo systemctl start vncserver@:1
Verbinden Sie sich mit der GUI über VNC
1. Installieren Sie die TigerVNC-Software auf Ihrem lokalen Computer, falls sie noch nicht installiert ist. TigerVNC ist für Windows, Linux und macOS verfügbar. Besuchen Sie die TigerVNC-Website, um auf den Download zuzugreifen.
Linux: Das tigervnc-Paket ist in den Repositorys vieler Distributionen verfügbar und kann mit den jeweiligen Paketmanagern installiert werden. macOS: Laden Sie TigerVNC-x.y.z.dmg herunter und installieren Sie es, wobei x.y.z die neueste Version darstellt. Windows: Laden Sie tigervnc64-x.y.z.exe (64-bit) oder tigervnc-x.y.z.exe (32-bit) herunter und installieren Sie sie, wobei x.y.z die neueste Version darstellt.
2. Verwenden Sie auf Ihrem lokalen Computer SSH, um eine Verbindung zu Ihrer Instance herzustellen, während Sie einen Tunnel erstellen, um den gesamten Datenverkehr auf dem lokalen Port 5901/TCP (VNC) an den VNC-Server der Instance weiterzuleiten:
Linux und macOS
Wenn Sie über SSH eine Verbindung zu Ihrer Instance herstellen, fügen Sie den Parameter -L hinzu, um die Portweiterleitung zu ermöglichen. Ersetzen Sie PEM_FILE durch Ihren privaten Schlüssel und INSTANCE_IP gegebenenfalls durch die öffentliche oder private IP Ihrer Instance.
ssh -L 5901:localhost:5901 -i PEM_FILE ec2-user@INSTANCE_IP
Windows
Konfigurieren Sie beim Öffnen der Verbindung mit PuTTY die Portweiterleitung und öffnen Sie dann die Verbindung:
- Wählen Sie im Menü Verbindung****SSH und dann Tunnel aus.
- Geben Sie 5901 in das Feld Quellport ein.
- Geben Sie localhost: 5901 in das Feld Ziel ein.
- Wählen Sie Hinzufügen aus.
3. Öffnen Sie den TigerVNC Viewer auf Ihrem lokalen Computer. Wenn Sie nach dem Hostnamen des VNC-Servers gefragt werden, geben Sie localhost:1 ein und stellen Sie dann eine Verbindung her.
4. Geben Sie das VNC-Passwort ein, das Sie in Schritt 2 des Abschnitts „TigerVNC installieren“ eingerichtet haben. Wenn eine Warnung angezeigt wird, dass die Verbindung nicht sicher ist, ignorieren Sie sie. Sie greifen über einen verschlüsselten SSH-Tunnel auf den VNC-Server zu.
Ihre MATE-Desktop-Umgebung wird angezeigt.
(Optional) Deaktivieren Sie die Passwort-Authentifizierung für VNC
Es ist keine bewährte Methode, die VNC-Passwort-Authentifizierung zu deaktivieren. Alle Benutzer, die in der Lage sind, sich über SSH mit Ihrer Instance zu verbinden, können einen Tunnel erstellen und auf Ihren VNC-Desktop zugreifen. Wenn es sich um eine Einzelbenutzer-Instance handelt (d. h. keine anderen Personen können sich anmelden) und Sie die Passwort-Authentifizierung für VNC trotzdem deaktivieren möchten, führen Sie folgende Schritte aus:
1. Ändern Sie die Sicherheitstypen-Einstellung des VNC Servers auf Keine:
echo SecurityTypes=None >> ~/.vnc/config
2. Starten Sie den VNC-Server neu.
sudo systemctl restart vncserver@:1
(Optional) Installieren Sie einen Webbrowser (nur X86)
AWS bietet keine Webbrowser wie Chromium oder Firefox in Amazon-Linux-2-Repositorys an. Führen Sie die folgenden Schritte aus, um einen dieser Browser zu installieren. Hinweis: AWS bietet keinen Support für Software, die von Drittanbieterquellen installiert wurde.
Die folgenden Anweisungen gelten für EC2-Instances, die auf 64-Bit Intel- und AMD-Prozessoren basieren (x86_64). Diese Drittanbieterquellen unterstützen keine Instances, die auf Graviton-Prozessoren (aarch64) basieren. Führen Sie den folgenden Befehl aus, um die Architektur Ihrer Instance zu bestätigen:
$ uname -m x86_64
Gehen Sie wie folgt vor, um Chromium (Open-Source-Projekt hinter Google Chrome) zu installieren:
1. Aktivieren Sie das EPEL-Repository. Weitere Informationen finden Sie in der EPEL-Dokumentation auf der Website Fedoraproject.org.
sudo amazon-linux-extras install epel
2. Installieren Sie Chromium-Pakete.
sudo yum install chromium
Chromium wird auf MATE unter Anwendungen, Internet, Chromium-Webbrowser installiert.
Gehen Sie wie folgt vor, um Mozilla Firefox (nur für den aktuellen Benutzer) zu installieren:
1. Laden Sie die neueste Firefox-Version für Linux 64-Bit auf Ihren lokalen Computer herunter. Besuchen Sie die Website mozilla.org, um auf den Download zuzugreifen.
2. Kopieren Sie die Datei nach dem Herunterladen von Firefox in Ihre Instance. Anweisungen finden Sie auf den jeweiligen Websites für Linux und Windows.
3. Stellen Sie über SSH die Verbindung zu Ihrer EC2-Instance her.
4. Extrahieren Sie den Datei-Inhalt. Der folgende Befehl zeigt an, dass sich die Datei im Home-Verzeichnis des ec2-Benutzers befindet. Ändern Sie den Pfad und die Firefox-Version nach Bedarf.
tar jxf ~/firefox-xx.y.tar.bz2 -C ~/
5. Erstellen Sie mit vim oder Ihrem bevorzugten Editor ein Desktop-Symbol. Erstellen Sie die Datei ~/Desktop/Firefox.desktop mit dem Inhalt wie im folgenden Beispiel gezeigt.
[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;
6. Verwenden Sie das Desktop-Symbol, das Sie in Schritt 5 erstellt haben, um Firefox zu starten.
7. Wenn eine Aufforderung angezeigt wird, dass der Anwendungsstarter nicht als vertrauenswürdig markiert ist, klicken Sie auf „Als vertrauenswürdig markieren“ und doppelklicken Sie dann erneut, um Firefox zu öffnen.

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 4 Monaten
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren