X11-Weiterleitung über SSH unter Windows 10 Subsystem für Linux einrichten?

3525
Cromulent

Ich habe ein Raspberry Pi 3 Model B +, das an mein lokales Netzwerk angeschlossen ist, und ich kann ohne Probleme SSH einbauen. Dies führt jedoch zu einigen Problemen, da alles in der Befehlszeile ausgeführt wird.

Was ich wirklich gerne machen würde, ist die X11-Weiterleitung mithilfe des SSH-Clients, der mit Windows Subsystem for Linux geliefert wird. Ich verwende Windows 10 Pro mit dem installierten 1803-Update.

Ich bin nur neugierig, wie ich diese Funktion verwenden kann. Wenn Windows 10 nicht nativ funktioniert, kann ich immer eine virtuelle Linux-Maschine ausführen, um eine Verbindung zum Raspberry Pi herzustellen.

3

1 Antwort auf die Frage

3
baelx

Dies ist auf jeden Fall bei Ihrem aktuellen Setup möglich. Beachten Sie, dass Sie auch die Möglichkeit haben, Putty zu verwenden. Auf beiden Wegen muss jedoch ein X-Server auf dem Client-Computer (Ihrem Windows-Subsystem für Linux - WSL) ausgeführt werden. Das Client-Server-Modell des X-Window-Systems ist zum Teil das, was das Weiterleiten von X so einfach macht. Sie benötigen lediglich einen X-Server auf Host und Client.

Rapsberry Pi (Host) Konfig

Zuerst sollten Sie eine kleine Konfigurationsanpassung an Ihrem SSH-Server auf dem Host-Computer (Ihrem Raspberry Pi) vornehmen. Suchen Sie zuerst Ihre Datei sshd_config im Verzeichnis etc. Sie können diese Befehle ausführen, indem Sie das Raspberry Pi (mit einem Sudo-fähigen Konto) verwenden oder indem Sie direkt auf das Pi zugreifen und dann ein Terminal öffnen. Sobald Sie sich angemeldet haben, führen Sie den Befehl aus:

cd /etc/ssh 

Erstellen Sie eine Sicherungskopie Ihrer sshd-Konfigurationsdatei:

cp sshd_config sshd_config.ORIG 

Öffnen Sie nun die Originaldatei in einem Texteditor mit:

sudo nano sshd_config 

Sie können einen beliebigen Texteditor auswählen, mit dem Sie sich auskennen ( siehe die Kurzbefehle für den Nano-Texteditor). Dies ist die Hauptkonfigurationsdatei für den SSH-Server. Suchen Sie die folgenden Zeilen, und kommentieren Sie sie aus:

X11Forwarding yes X11UseForwarding yes 

Speichern und schließen. Jetzt müssen Sie den SSI-Server von Pi mit:

sudo systemctl restart sshd 

Windows (Client) Setup

Du bist fertig mit deinem Gastgeber. Jetzt müssen Sie nur noch einen X-Server für Windows installieren. Es gibt ein paar Optionen zur Auswahl, aber ich würde Cygwin X wählen, die Sie hier herunterladen können . Installieren Sie es und sobald Sie es ausführen, sollte ein kleines Fenster auf Ihrem Client erscheinen, in dem das X-Programm angezeigt wird. Sie können jetzt die X-Weiterleitung testen, indem Sie zu Ihrer WSL-Shell zurückkehren und den einfachen Befehl ausführen:

xclock 

Im Fenster von Cygwin sollte eine einfache Uhr erscheinen. Sie können die Uhr beenden, indem Sie zu Ihrer WSL-Shell zurückkehren und Strg + C drücken. Wenn dieser Befehl nicht erkannt wird, müssen Sie möglicherweise zuerst x11-Grafikanwendungen auf dem Hostcomputer installieren, und zwar mit:

sudo apt-get install x11-apps 

Die X-Weiterleitung sollte jetzt für Sie aktiviert sein und Sie können jetzt die meisten, wenn nicht alle Anwendungen Ihres Rapsberry Pi von Windows aus ausführen.


Hinweis zu XDMCP, FreeNX

Sie möchten vielleicht noch einen Schritt weitergehen und Dinge so einrichten, dass ein vollständiger "Desktop" von Ihrem Pi aus ausgeführt wird, und nicht nur App-by-App, wie es X-Forwarding zulässt. Hier sind ein paar allgemeine Optionen, die Ihnen zur Verfügung stehen:

  • XDMCP: Dies ist am einfachsten einzurichten, ist jedoch notorisch unsicher und die meisten Behörden empfehlen nur, dass Sie es jemals in einem vertrauenswürdigen kabelgebundenen LAN (wie Ihrem Heimnetzwerk) ausführen. Dies ist möglicherweise mehr Aufwand, als es sich lohnt, aber wenn Sie neugierig sind, schauen Sie sich diesen Raspi-Pi-Thread für die Erstkonfiguration an .
  • FreeNX: Sicherer als die obige Option und wahrscheinlich die Einrichtung wert, wenn Sie dies regelmäßig und möglicherweise von einem anderen Netzwerk aus durchführen möchten. Sie müssen einen FreeNX-Server auf dem Host installieren und dann eine andere Software - NoMachine - auf Ihrem Windows-Client verwenden. Sehen Sie hier für eine sehr detaillierte Anleitung.