Share Your AWS re:Post Experience - Quick 3 Question Survey
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey.
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) auf meiner Amazon Elastic Compute Cloud (Amazon EC2)-Instance installieren, auf der Amazon Linux 2 ausgeführt wird.
Kurzbeschreibung
Du kannst eine GUI manuell installieren oder aus einer der folgenden Alternativen wählen:
- Starte von einem Amazon Linux 2 Amazon Machine Image (AMI), auf dem MATE vorinstalliert ist. Weitere Informationen findest du unter Configure the Amazon Linux 2 MATE desktop connection.
- Nutze Amazon WorkSpaces, einen vollständig verwalteten, persistenten Desktop-Virtualisierungsservice. Weitere Informationen findest du unter Amazon WorkSpaces-Familie.
- Nutze Amazon DCV, ein Remote-Display-Protokoll, das Remote-Desktops und Anwendungsstreaming sicher von jeder Cloud und jedem Rechenzentrum auf jedes Gerät ermöglicht. Weitere Informationen findest du unter Amazon DCV.
Lösung
Voraussetzungen
- Stelle als Amazon EC2-Benutzer, der SSH verwendet, eine Verbindung zu deiner Instance her. Die Instance muss sich in einem öffentlichen Subnetz befinden und über eine öffentliche IP-Adresse oder eine Elastic-IP-Adresse zugänglich sein. Du kannst aber auch mithilfe von AWS VPN oder AWS Direct Connect eine Verbindung herstellen und so über eine private IP-Adresse auf deine Instance zugreifen. Diese Anweisungen gelten nicht für Umgebungen, die einen Bastion-Host verwenden. Aus Sicherheitsgründen wird der Datenverkehr zum Virtual Network Computing (VNC)-Server mithilfe von SSH getunnelt. Es ist bewährte Praxis, das Öffnen von VNC-Ports in deinen Sicherheitsgruppen zu vermeiden.
- Aktualisiere deine Instance, indem du sudo yum update ausführst, und starte die Instance neu. Wenn du das Update und den Neustart nicht durchführst, kann dies zu unvorhersehbaren Ergebnissen bei den nächsten Schritten führen.
Hinweis: Die folgenden Anweisungen gelten nur für Amazon Linux 2. Führe den folgenden Befehl aus, um deine Version zu ermitteln:
$ grep PRETTY\_NAME /etc/os-release PRETTY\_NAME="Amazon Linux 2"
Installieren der MATE-Desktop-Umgebung
Installiere die MATE-Desktop-Umgebung, eine schlanke GUI auf Basis von GNOME 2, die als Extra für Amazon Linux 2 verfügbar ist. Weitere Informationen zu MATE findest du in der MATE-Desktop-Umgebung auf der MATE-Website.
-
Installiere die MATE-Pakete.
sudo amazon-linux-extras install mate-desktop1.x -y
-
Definiere MATE als deinen Standard-Desktop für alle Benutzer.
sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'
Installieren von TigerVNC
Installiere einen VNC-Dienst wie TigerVNC. Weitere Informationen zu TigerVNC findest du unter TigerVNC auf der TigerVNC-Website.
-
Installiere TigerVNC Server.
sudo yum install tigervnc-server -y
-
Konfiguriere ein VNC-spezifisches Passwort mit sechs bis acht Zeichen für diesen Benutzer. Wenn du gefragt wirst, ob du ein Passwort eingeben möchtest, das nur Lesezugriff erlaubt, drücke n.
vncpasswd
-
Beschränke den VNC-Netzwerkzugriff auf den Localhost, sodass du nur mit einem sicheren SSH-Tunnel auf VNC zugreifen kannst.
Erstelle das tigervnc-Konfigurationsverzeichnis.sudo mkdir /etc/tigervnc
Erstelle eine obligatorische Konfigurationsdatei, die die Option localhost enthält.
sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'
Hinweis: Wenn du möchtest, dass die VNC-Sitzung auf allen Schnittstellen läuft und einen direkten Internetzugang ermöglicht, dann hashe den localhost-Eintrag. Es hat sich bewährt, den VNC-Sitzungsport nur von einer IP oder CIDR zuzulassen, indem du ihn mit einer Sicherheitsgruppe einschränkst.
-
Starte den VNC-Server auf Anzeige Nummer 1 und stelle ein, dass er immer beim Booten startet.
Verwende den Befehl sed, um alle Vorkommen von USER in der neuen Einheit durch ec2-user zu ersetzen.sudo sed -i 's/<USER>/ec2-user/' /lib/systemd/system/vncserver@.service
Kopiere die Einheitendatei nach /etc/systemd/system/, um eine neue systemd-Einheit zu erstellen.
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
Lade die systemd-Manager-Konfiguration neu.
sudo systemctl daemon-reload
Schalte den Dienst beim Booten ein.
sudo systemctl enable vncserver@:1
Starte den Dienst.
sudo systemctl start vncserver@:1
Vergewissere dich, dass der Dienst ausgeführt wird.
sudo systemctl status vncserver@:1
Bestätige mit dem folgenden Befehl, dass Anzeige Nummer 1 standardmäßig auf Port 5901/TCP eingestellt ist:
sudo netstat -tulpen |grep 590\*
tcp 0 0 0.0.0.0:5901 0.0.0.0:\* LISTEN 1000 78547 1304/Xvnc tcp6 0 0 :::5901 :::\* LISTEN 1000
Herstellen einer Verbindung zur GUI mit VNC
Um mithilfe von VNC eine Verbindung zur GUI herzustellen, installiere die TigerVNC-Software, verwende SSH, um eine Verbindung zu deiner Instance herzustellen, und gib dann dein VNC-Passwort ein.
Die TigerVNC-Software installieren
TigerVNC ist für Windows, Linux und macOS verfügbar. Siehe TigerVNC auf der TigerVNC-Website, um auf den Download zuzugreifen.
- Linux: Das TigerVNC-Paket ist in den Repositorys vieler Verteilungen verfügbar.
- macOS: Lade TigerVNC-x.y.z.dmg herunter und installiere das Paket, wobei x.y.z für die neueste Version steht.
- Windows: Lade tigervnc64-x.y.z.exe (64 Bit) oder tigervnc-x.y.z.exe (32 Bit) herunter und installiere das Paket, wobei x.y.z für die neueste Version steht.
SSH verwenden, um eine Verbindung zu deiner Instance herzustellen
Verwende SSH, um eine Verbindung zu deiner Instance herzustellen. Erstelle dann einen Tunnel, um den gesamten Datenverkehr auf dem lokalen Port 5901/TCP (VNC) an den VNC-Server der Instance weiterzuleiten.
Hinweis: Wenn du den VNC-Netzwerkzugriff nicht auf den Localhost beschränkt hast, musst du keinen sicheren SSH-Tunnel verwenden. Du kannst die öffentliche IP der Instance verwenden, um eine Verbindung zu TightVNC Viewer herzustellen.
Linux und macOS
Wenn du über SSH eine Verbindung zu deiner Instance herstellst, füge den Parameter**-L** hinzu, um die Portweiterleitung zu aktivieren. Ersetze PEM_FILE durch deinen privaten Schlüssel und INSTANCE_IP je nach Bedarf durch die öffentliche oder private IP deiner Instance.
ssh -L 5901:localhost:5901 -i PEM\_FILE ec2-user@INSTANCE\_IP
Windows
Wenn du die Verbindung mit PuTTY öffnest, konfiguriere die Portweiterleitung und öffne dann die Verbindung:
- Wähle im Menü Verbindung die Option SSH und dort Tunnel aus.
- Gib 5901 in das Feld Quellport ein.
- Gib localhost:5901 in das Feld Ziel ein.
- Klicke auf Hinzufügen.
Eingeben des VNC-Passworts
Gehe wie folgt vor, um das VNC-Passwort einzugeben:
- Öffne den TigerVNC Viewer auf deinem lokalen Computer.
- Wenn du nach dem hostname des VNC-Servers gefragt wirst, gib localhost:1 ein und stelle dann eine Verbindung damit her.
- Gib das VNC-Passwort ein, das du in Schritt 2 des Abschnitts Installieren von TigerVNC eingerichtet hast.
Hinweis: Wenn du eine Warnung erhältst, dass die Verbindung nicht sicher ist, ignoriere sie. Der Zugriff auf den VNC-Server erfolgt über einen verschlüsselten SSH-Tunnel.
(Optional) Deaktivieren der Passwortauthentifizierung für VNC
Es wird nicht empfohlen, die VNC-Passwortauthentifizierung zu deaktivieren. Wenn die VNC-Passwortauthentifizierung deaktiviert ist, können alle Benutzer, die berechtigt sind, SSH für die Verbindung mit deiner Instance zu verwenden, einen Tunnel erstellen und auf deinen VNC-Desktop zugreifen.
Wenn die Instance nur von einem Benutzer verwendet wird und du die Passwortauthentifizierung für VNC deaktivieren möchtest, gehe wie folgt vor.
-
Führe den folgenden Befehl aus, um die Einstellung „Sicherheitstypen“ des VNC-Servers auf „Keine“ zu ändern.
echo SecurityTypes=None >> ~/.vnc/config
-
Starte den VNC-Server neu.
sudo systemctl restart vncserver@:1
(Optional) Installieren eines Webbrowsers (nur X86)
AWS stellt keine Webbrowser in Amazon Linux 2-Repositorys zur Verfügung, wie z. B. Chromium auf der Chromium Projects-Website oder Firefox auf der Mozilla-Website. Diese Drittanbieterquellen stellen keine Webbrowser für Instances zur Verfügung, die auf Graviton-Prozessoren (aarch64) basieren.
Hinweis: AWS bietet keinen Support für Software, die aus Quellen von Drittanbietern installiert wurde.
Sowohl Chromium als auch Firefox sind nur in der X86-Variante verfügbar. Gehe wie folgt vor, um einen dieser Browser zu installieren. Hinweis: Diese Schritte gelten für EC2-Instances, die auf 64-Bit-Intel- und AMD-Prozessoren (x86_64) basieren.
Führe diesen Befehl aus, um sich über die Architektur deiner Instance zu vergewissern:
$ uname -m
Gehe wie folgt vor, um Chromium (das Open-Source-Projekt hinter Google Chrome) zu installieren:
-
Aktiviere das EPEL-Repository. Weitere Informationen findest du in den EPEL (Extra Packages for Enterprise Linux, zusätzliche Pakete für Enterprise Linux) auf der Fedora Project-Website.
sudo amazon-linux-extras install epel -y
-
Installiere die Chromium-Pakete.
sudo yum install chromium -y
Chromium wird auf MATE unter Anwendungen > Internet > Chromium Web Browser installiert.
Gehe wie folgt vor, um Mozilla Firefox (nur für aktuelle Benutzer) zu installieren:
-
Lade die neueste Firefox-Version für Linux 64-Bit auf deinen lokalen Computer herunter. Lies bitte auf der Mozilla-Webseite unter Auswählen, welchen Firefox-Browser du in deiner Sprache herunterladen möchtest nach, um auf den Download zuzugreifen oder das Repo für Debian Linux hinzuzufügen.
-
Kopiere die Datei nach dem Herunterladen von Firefox auf deine Instance. Anweisungen für Linux und Windows findest du auf den jeweiligen Websites.
-
Verwende SSH, um eine Verbindung zu deiner EC2-Instance herzustellen.
-
Extrahiere den Dateiinhalt. Dieser Beispielbefehl gibt an, dass sich die Datei im Stammverzeichnis des Benutzers „ec2-user“ befindet. Ändere den Pfad und die Firefox-Version „xx.y“ nach Bedarf.
tar jxf ~/firefox-xx.y.tar.bz2 -C ~/
-
Verwende einen Texteditor wie vim, um ein Desktopsymbol zu erstellen. Erstelle die Datei ~/Desktop/firefox.desktop mit dem folgenden Inhalt:.
\[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;
-
Verwende das Desktop-Symbol, das du in Schritt 5 erstellt hast, um Firefox zu starten.
-
Wenn eine Meldung erscheint, die dich darüber informiert, dass der Anwendungsstarter nicht als vertrauenswürdig markiert ist, wähle Mark as Trusted und öffne Firefox.
Ähnliche Informationen
Wie kann ich über eine GUI auf meine Amazon EC2-macOS-Instance zugreifen?
Ähnliche Videos


Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 5 Monaten
- AWS OFFICIALAktualisiert vor 8 Monaten