質問: linux用のcygwin / xおよびwindowsサブシステム 機能しているxorgウィンドウ環境を含む、機能しているcygwinが私のwindows 10デバイス(surface 3、重要な場合)にインストールされています。 linux用のwindowsサブシステムについても実験を始めたばかりです。 wslからguiアプリケーションを実行するためのアドバイスは、別のxサーバーをインストールすることです。通常はxmingが推奨されますが、cygwinが機能しないはずの提案は見ていません。ただし、単純な方法は失敗します。wsl $ export display=:0 wsl $ emacs & display :0 unavailable, simulating -nw ネットワーキングの問題かもしれないと思った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 ...しかし、リモートマシンへのsshは正常に機能し、xserverは前回デバッグしたときから、ポート6000でのリッスンを停止しているようです。実行してみましたcygwin $ xhost +localhost、xhostが現在そこにインストールされていないことを発見するためだけです。これは次に試すことになるかもしれませんし、野生のガチョウの追跡かもしれません--- xhost(または少なくとも裸のxhost +)was前回xサーバーをデバッグしたときはほとんどお勧めできませんでした。wslがcygwin xサーバーを使用できないようにする根本的な欠陥はありますか?そうでない場合、どうすればよいですか?
回答: cygwin/xにtcpをリッスンするように指示する必要があります。デフォルトではtcpをリッスンしません。これを行うには、オプション-listen tcpをxlaunchに渡します。これを行うと、それは本当にうまくいきます。私は実際にはxmingよりcygwin/xを好みます。詳細は マニュアル をご覧ください。cygwin/xを起動するために使用しているショートカットを見つけます。 (ユーザーごとのスタートアップショートカットはc:\users\<you>\appdata\roaming\microsoft\windows\start menu\programs\startupにありますが、システム全体のスタートアップショートカットはc:\programdata\microsoft\windows\start menu\programs\startupにあります。このリンクの[プロパティ]を開き、ターゲットを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" xauthをサポートするには、cygwinのホームディレクトリからwslのホームディレクトリに~/.xauthorityをコピーする必要があります。または、xauthを無効にする場合は、cygwinの/usr/bin/startxwinを編集して、上部近くの適切な行をenable_xauth=0に変更します。