· 

WSLでGUI

WSLでmatplotlibを使いたい。まずはVcXsrvでGUI出せるようになるまで。情報はあちこちにあるけど、ここが親切な気がします。(が、後から考えるとそうでもなかった)

 

では、まずここから、VcXsrvをダウンロードする。で、とにかく言いなりでインストールする。

はい、できた。あ、デスクトップショートカットいらんわ。邪魔だし。後で消しちゃおう。

で、起動。

で、「Save configuration」を押して適当に保存して、「完了」を押す。すると、右下にXのアイコンが出る。マウスカーソルをアイコンの上に持っていくと

<PC名>:0.0 - 0 clients

て出ている。で、Xsrvを常駐させたい方もいるでしょうが、私は必要な時だけにしたいので、常駐させる手順はやりません。

で、WSLのDebianを起動する。

当然こうなる。

で、参考サイトに従い

 

sudo apt install  x11-apps x11-utils x11-xserver-utils dbus-x11

 

って入れる。

で、環境変数の設定(うちはなぜか.bash_profileではなく.profileなのでちょっと変える)

 

echo 'export DISPLAY=localhost:0.0' >> ~/.profile

 

ってやると最後の行に

export DISPLAY=localhost:0.0

が追加される。まぁエディタで開いて追加してもいいと思いまーす。0.0が右下のアイコンにカーソルを持って行った時に表示された値にせんといかん。

 

 

source ~/.profile

 

ってやって反映させる。

 

echo $DISPLAY

 

ってすれば

 

localhost:0.0

 

って表示されるはず。

ではドキドキしながらxeyesってやると、Error : Can't open displayて出てきます。(?_?)

 

ここに対策が書いてあります。先人すごい。

 で、さっそく、.profileを編集します。もうWindowsに侵されて25年経つので、\\wsl$から掘っていってテキストエディタで編集します。ヾ(゚д゚; )

 

 export DISPLAY=localhost:0.0

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0

にします。

で、右下のVcXsrvアイコンを右クリックして、Exit...、で、再度、XLaunchを起動。Additional parameters for VcXsrvの下のテキストボックスに-acって入れる。

で、「次へ」「Save configuration」「完了」とやっていく。

Debianでlogoutって入れて一旦抜けて再度起動する。

で、だめ。

 

そういえば最初の起動の時にファイヤウォールの許可するかどうかを問われて、参考サイトの通りにキャンセルしちゃったので、再度許可する。

 

スタートボタンを押し、問答無用で「コントロール」っていれてコントロールパネルを起動。

そして、「システムとセキュリティ」「Windows Defender ファイアウォール」とたどる。で、左側の「Windows Defenderファイアウォールを介したアプリまたは機能を許可」で、出てきた画面で「設定の変更」ボタンを押し、

VcXsrvの左端のチェックボックスがクリアになっているはずなのでチェックして「OK」。

で再度、xeyes...

よしきた。ただ、タイトルバーをドラッグしてウィンドウの位置を動かすってのができないのはなんでだろー。右クリックで「移動」を選び、キーボードのカーソルでちょっと動かした後、マウスで動かす...まじめんどい。

が、どうもxeyesだけの症状らしく(起動時に何か指定せんといかんのかも)、xclockとxcalcは問題ないので今日のところは大目に見る。