Ich habe eine funktionierende Cygwin-Installation auf meinem Windows 10-Gerät (ein Surface 3, falls wichtig), einschließlich einer funktionierenden Xorg-Fensterumgebung. Ich habe gerade angefangen, auch mit dem Windows-Subsystem für Linux zu experimentieren. Es scheint, als würde der Rat zum Ausführen von GUI-Anwendungen über die WSL darin bestehen, einen anderen X-Server zu installieren. Normalerweise wird Xming empfohlen, aber ich habe keine Vorschläge gesehen, dass Cygwin nicht funktionieren sollte.
Der einfache Weg schlägt jedoch fehl:
WSL $ export DISPLAY=:0
WSL $ emacs &
Display :0 unavailable, simulating -nw
Ich vermutete, dass es sich um ein Netzwerkproblem handeln könnte
WSL $ telnet localhost 6000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
WSL $ /sbin/ifconfig
Warning: cannot open /proc/net/dev (No such file or directory). Limited output.
WSL $ # there was no output at all, actually
... aber ssh auf einem Remote-Computer funktioniert einwandfrei, und anscheinend haben Xserver Port 6000 seit dem letzten Debugging nicht mehr überwacht.
Ich habe versucht zu laufen cygwin $ xhost +localhost
, nur um festzustellen, dass xhost
dort derzeit nicht installiert ist. Was als nächstes versucht werden könnte oder eine wilde Gänsejagd sein könnte - xhost
(oder zumindest eine nackte xhost +
), wurde beim letzten Debuggen eines X-Servers größtenteils entmutigt.
Gibt es einen grundlegenden Fehler, der die Verwendung des Cygwin X-Servers durch WSL verhindert? Wenn nicht, wie soll ich vorgehen?
/etc/X11/Xresources
und ändern Sie dieXft.dpi
Standardeinstellung von 96. Ihre Anzeige sollte 214 DPI haben, sodass der Text in CygwinX recht klein aussehen muss. Unabhängig davon können Sie diesen DPI-Wert anpassen, um die Skalierung nach Ihren Wünschen zu ändern. (Starten Sie CygwinX einfach zwischen den Änderungen neu.)Antworten:
Sie müssen Cygwin / X anweisen, TCP abzuhören, was standardmäßig nicht der Fall ist. Sie tun dies, indem Sie die Option
-listen tcp
an XLaunch übergeben. Wenn Sie dies tun, funktioniert es wirklich gut. Eigentlich bevorzuge ich Cygwin / X gegenüber Xming. Weitere Details im Handbuch .Suchen Sie die Verknüpfung, mit der Sie Cygwin / X starten. (Startverknüpfungen pro Benutzer sind aktiviert
C:\Users\<you>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
, während systemweite Startverknüpfungen aktiviert sindC:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
. Öffnen Sie die "Eigenschaften" dieses Links und ändern Sie das Ziel vonzu
Zur
xauth
Unterstützung sollten Sie~/.Xauthority
aus dem Home-Verzeichnis Ihres Cygwin in das Home-Verzeichnis Ihrer WSL kopieren .Wenn Sie deaktivieren möchten
xauth
, können Sie Cygwins bearbeiten/usr/bin/startxwin
und die entsprechende Zeile oben in ändernenable_xauth=0
.quelle
Sie müssen den X-Server mit starten
startx
. Wenn Sie X Windows nicht installiert haben, führen Sie Cygwin aussetup.exe
und wählen Sie alle X Windows-Systeme und einen Fenstermanager aus.quelle