Question Cygwin / X et sous-système Windows pour Linux


J'ai une installation Cygwin fonctionnelle sur mon appareil Windows 10 (une Surface 3, au cas où cela compte), y compris un environnement de fenêtrage Xorg opérationnel. Je viens juste de commencer à expérimenter avec le sous-système Windows pour Linux. Il semble que le conseil pour exécuter des applications GUI de WSL consiste à installer un autre serveur X. Habituellement, Xming est recommandé, mais je n'ai vu aucune suggestion selon laquelle Cygwin ne devrait pas fonctionner.

Cependant, le moyen simple échoue:

WSL $ export DISPLAY=:0
WSL $ emacs &
Display :0 unavailable, simulating -nw

Je soupçonnais que cela pourrait être un problème de réseau, à cause de

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

... mais ssh sur une machine distante fonctionne bien, et apparemment Xservers a cessé d'écouter sur le port 6000 depuis la dernière fois que j'en ai débogué un.

J'ai essayé de courir cygwin $ xhost +localhost, seulement pour découvrir que xhost n'est pas actuellement installé là-bas. Ce qui pourrait être la prochaine chose à essayer, ou pourrait être une chasse aux oies sauvages --- xhost (ou du moins, un nu xhost +) était la plupart du temps découragé la dernière fois que j'ai débogué un serveur X.

Existe-t-il un défaut fondamental empêchant WSL d'utiliser le serveur Cygwin X? Sinon, comment dois-je procéder?


7
2018-02-17 19:37


origine




Réponses:


Vous devez indiquer à Cygwin / X d’écouter TCP, ce qu’il ne fait pas par défaut. Vous faites cela en passant l'option -listen tcp à XLaunch. Lorsque vous faites cela, cela fonctionne très bien. Je préfère en fait Cygwin / X à Xming. Plus de détails dans Le manuel.


Recherchez le raccourci que vous utilisez pour démarrer Cygwin / X. (Les raccourcis de démarrage par utilisateur sont dans C:\Users\<you>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup, alors que les raccourcis de démarrage sont C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp. Ouvrez les "Propriétés" de ce lien et changez la cible de

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; exec /usr/bin/startxwin"

à

C:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; exec /usr/bin/startxwin -- -listen tcp"

Pour xauth support, vous devriez copier ~/.Xauthority depuis le répertoire personnel de votre Cygwin vers le répertoire personnel de votre WSL.

Ou si vous souhaitez désactiver xauth, vous pouvez éditer les /usr/bin/startxwin, en changeant la ligne appropriée près du haut pour enable_xauth=0.


7
2018-03-14 20:06





Vous devez démarrer le serveur X avec startx. Si vous n’avez pas X Windows installé, lancez Cygwin setup.exe et sélectionnez tous les systèmes X Windows et un gestionnaire de fenêtres.


1
2018-03-14 20:10