Mam działającą instalację Cygwin na moim urządzeniu z systemem Windows 10 (w razie potrzeby Surface 3), w tym działającym środowisku okienkowym Xorg. Właśnie zacząłem eksperymentować z podsystemem Windows dla systemu Linux. Wygląda na to, że radą do uruchamiania aplikacji GUI z WSL jest instalacja innego serwera X. Zwykle zaleca się Xming, ale nie widziałem żadnych sugestii, że Cygwin nie powinien działać.
Jednak prosty sposób zawodzi:
WSL $ export DISPLAY=:0
WSL $ emacs &
Display :0 unavailable, simulating -nw
Podejrzewałem, że może to być problem z siecią
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
... ale ssh na zdalnej maszynie działa dobrze i najwyraźniej Xservers przestał nasłuchiwać na porcie 6000 od czasu ostatniego debugowania.
Próbowałem uruchomić cygwin $ xhost +localhost
, ale odkryłem, że xhost
nie jest tam obecnie zainstalowany. Co może być następną rzeczą, aby spróbować, czy może być dzikie gęsi pościg --- xhost
(lub przynajmniej, nagi xhost +
) był przede wszystkim zniechęcać ostatni raz debugowane serwera X.
Czy jest jakaś podstawowa wada uniemożliwiająca WSL korzystanie z serwera Cygwin X? Jeśli nie, jak mam postępować?
/etc/X11/Xresources
i zmień wartośćXft.dpi
domyślną z 96. Twój wyświetlacz powinien mieć 214 DPI, więc tekst musi wyglądać dość cienko przez CygwinX. Niezależnie od tego możesz dostosować tę wartość DPI, aby zmienić skalowanie według własnych upodobań. (Po prostu uruchom ponownie CygwinX między zmianami.)Odpowiedzi:
Musisz powiedzieć Cygwin / X, aby nasłuchiwał TCP, czego domyślnie nie robi. Robisz to, przekazując opcję
-listen tcp
do XLaunch. Kiedy to zrobisz, działa naprawdę dobrze. Właściwie wolę Cygwin / X od Xming. Więcej szczegółów w instrukcji .Znajdź skrót, którego używasz do uruchomienia Cygwin / X. (Dostępne są skróty uruchamiania dla poszczególnych użytkowników
C:\Users\<you>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
, a dostępne są skróty uruchamiania dla całego systemuC:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
. Otwórz „Właściwości” tego łącza i zmień cel zdo
Aby uzyskać
xauth
wsparcie, powinieneś skopiować~/.Xauthority
z katalogu domowego Cygwina do katalogu domowego WSL.Lub jeśli chcesz wyłączyć
xauth
, możesz edytować Cygwina/usr/bin/startxwin
, zmieniając odpowiednią linię u góry naenable_xauth=0
.źródło
Musisz uruchomić serwer X za pomocą
startx
. Jeśli nie masz zainstalowanego systemu X Windows, uruchom Cygwinsetup.exe
i wybierz wszystkie systemy X Windows oraz menedżera okien.źródło