1. ryoi084

    Posted

    ryoi084
Changes in title
+WSL2におけるVcXsrvの設定
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,43 @@
+# WSL2でmatplotlibをプロットしようと思ったら...
+なぜか出力するディスプレイが見つからないということを言われてしまったので, いろいろと調べてみました.
+
+# 参考としたサイト
+[Can't use X-Server in WSL 2 #4106](https://github.com/microsoft/WSL/issues/4106)
+こちらのサイトにほとんど解決策が載っておりますので, こちらの記事から抽出してまとめました.
+
+# VcXsrvの自動起動設定
+1. **xlaunch.exe**という実行ファイルがあると思いますので, 起動します.
+2. multiple window を選んで, 次へを選択します.
+3. start to dient を選んで, 次へを選択します.
+4. clipboard を使用したければ, clipboardにチェックを入れます.
+5. **Additional parameters for VcXsrv** という入力フォームに **-ac** と入力して, 次へを選択します.
+![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269455/22041d37-0ab3-5c18-46e8-94aea8a1b0d0.png)
+
+6. Save configuration を押して, どこかアクセスしやすい場所(デスクトップとか)に保存してください.
+7. 完了を押してxlaunchを終了します.
+8. 続いて, `Windowsキー + r`を押して, *shell:startup*と入力して検索します.
+9. **スタートアップ**というフォルダが開きますので, ここに先ほどxlaunchを用いて作成したファイルを移動してしまってください.
+
+これで, 自動的にVcXsrvがパソコンの起動時に立ち上がるようになりました.
+
+# WSL上のディスプレイの設定
+最後にVcXsrvの存在をWSLに教えてあげましょう.
+
+1. Windows PowerShell を開きます.
+2. ```ipconfig```と入力します.
+3. *イーサネット アダプター vEthernet (WSL)*という項がありますので, その部分の```IPv4 アドレス```をメモしておきます.(仮にここでは ```aaa.bbb.ccc.ddd``` としておきます)
+1. WSLを開きます.
+2. vim や nano などで`~/.bashrc`を開きます.
+3. 開いた.bashrcの最後の行に, 以下のコマンドを追記して保存してください.
+
+```shell:.bashrc
+ export DISPLAY=aaa.bbb.ccc.ddd:0
+```
+
+最後にWSLを再起動すると, 先ほど編集した.bashrcが読み込まれて, 設定が反映されます.
+
+# 最後に
+VcXsrv側に```-ac``` というオプションを加えましたが, 参考サイトによりますとパブリックアクセスを許可するコマンドであるそうです. WSL2が新たなコンテナシステムを形成したことによるのかと思われます。
+
+## 以前の記事
+[]()