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

Ich habe einen Raspberry Pi 3 Model B+ mit meinem lokalen Netzwerk verbunden und kann problemlos SSH betreiben. Dies verursacht jedoch einige Probleme, da alles in der Befehlszeile ausgeführt wird.

Was ich wirklich tun möchte, ist die X11-Weiterleitung mithilfe des SSH-Clients, der mit dem Windows-Subsystem für Linux geliefert wird. Ich verwende Windows 10 Pro mit dem installierten 1803-Update.

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

Author: Cromulent, 2018-06-19

3 answers

Dies ist angesichts Ihres aktuellen Setups definitiv möglich. Beachten Sie, dass Sie auch die Möglichkeit haben, mit Putty aber in jedem Fall benötigen Sie einen X - Server, der auf dem Clientcomputer ausgeführt wird, Ihrem Windows-Subsystem für Linux - WSL. Das Client-Server-Modell des X Window-Systems ist teilweise das, was die X-Weiterleitung so einfach macht. Sie benötigen lediglich einen X-Server, der auf Host und Client ausgeführt wird.

Raspberry-Pi - (Host -) Konfiguration

Zuerst wirst du möchten Sie eine geringfügige Konfigurationsanpassung an Ihren SSH-Server auf dem Hostcomputer (Ihrem Raspberry Pi) vornehmen? Suchen Sie zuerst Ihre Datei sshd_config im Verzeichnis etc. Sie können diese Befehle ausführen, indem Sie ssh-ing in den Raspberry Pi (mit einem sudo-fähigen Konto) eingeben oder direkt auf den Pi zugreifen und dann ein Terminal öffnen.

Sobald Sie drin sind, führen Sie den Befehl aus:

cd /etc/ssh

Sichern Sie Ihre 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 (siehe hier für die Nano-Texteditor-Verknüpfungen). Dies ist die Hauptkonfigurationsdatei für den SSH-Server. Suchen und kommentieren Sie die folgenden Zeilen:

X11Forwarding yes
X11UseForwarding yes
{[7],} Speichern und beenden. Jetzt müssen Sie den SSH-Server Ihres Pi neu starten mit:
sudo systemctl restart sshd

Windows (Client) Einrichten

Du bist fertig mit deinem Gastgeber. Jetzt müssen Sie nur noch einen X-Server für Windows installieren. Es gibt ein paar Optionen zu wählen Sie aus, aber ich würde mit Cygwin X gehen, die Sie herunterladen können hier. Installieren Sie es und sobald Sie es ausgeführt haben, sollte es ein kleines Fenster auf Ihrem Client erzeugen, das zum Anzeigen des X-Programms verwendet wird. Sie können nun testen, ob die X-Weiterleitung erfolgt, indem Sie zu Ihrer WSL-Shell zurückkehren und den einfachen Befehl ausführen:

xclock

Eine einfache Uhr sollte im von Cygwin erzeugten Fenster erscheinen. Sie können die Uhr beenden, indem Sie zu Ihrer WSL-Shell zurückkehren und Strg+C drücken. Wenn dieser Befehl nicht ist daher müssen Sie möglicherweise zuerst x11-graphics-Anwendungen auf dem Hostcomputer installieren 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 Raspberry Pi von Windows aus ausführen.


Hinweis zu XDMCP, FreeNX

Möglicherweise möchten Sie noch einen Schritt weiter gehen und die Dinge so einrichten, dass eine gesamte Desktop-Umgebung von Ihrem Pi aus ausgeführt wird, und nicht nur App-für-App, was die X-Weiterleitung zulässt. Hier sind ein paar gemeinsame Optionen zur Verfügung:

  • XDMCP: Dies ist am einfachsten einzurichten, aber 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 kann mehr ärger als es Wert ist, aber wenn Sie neugierig sind, zu schauen, sehen Sie dies Rasp Pi-thread für die Ersteinrichtung.
  • FreeNX: Sicherer als XDMCP und wahrscheinlich die Zeit wert einzurichten, wenn Sie dies regelmäßig tun möchten und möglicherweise von ein anderes Netzwerk ganz. Sie müssen einen FreeNX-Server auf dem Host installieren und dann eine andere Software - NoMachine - auf Ihrem Windows-Client verwenden. Siehe hier für eine sehr detaillierte Anleitung.
 12
Author: baelx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-08-14 15:12:28

Stellen Sie in der WSL-Shell sicher, dass Sie die vollqualifizierte ANZEIGE exportiert haben

export DISPLAY=localhost:0.0

Folgendes funktioniert nicht:

export DISPLAY=:0.0

: 0.0 basiert auf einem UNIX-Domänensocket (anstelle eines TCP/IP-Sockets) und irgendwie wird die X-Weiterleitung nicht richtig angeschlossen. Ich hatte das gleiche problem.

Update: wsl2 ist fast gleich, aber wenn Sie VcXsrv verwenden, müssen Sie das Kontrollkästchen disable access control aktivieren.

 18
Author: Carl Zmola,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-10-06 13:01:38

X11 betrachtet die Maschine, die die grafische Oberfläche anzeigt, als X Windows SERVER und die Maschine, die die Informationen bereitstellt, die als X Windows CLIENT angezeigt werden sollen. Dies ist das Gegenteil der üblichen Client / Server-Beziehung. Stellen Sie sich den lokalen Computer (den mit der physischen Anzeige) als Grafikserver und den Remote-Computer als Grafikclient vor.

 2
Author: Robert Gallaway,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-02-11 18:21:38