Help us understand the problem. What is going on with this article?

WSL2におけるVcXsrvの設定

WSL2でmatplotlibをプロットしようと思ったら...

なぜか出力するディスプレイが見つからないということを言われてしまったので, いろいろと調べてみました.

参考としたサイト

Can't use X-Server in WSL 2 #4106
こちらのサイトにほとんど解決策が載っておりますので, こちらの記事から抽出してまとめました.

VcXsrvの自動起動設定

  1. xlaunch.exeという実行ファイルがあると思いますので, 起動します.
  2. multiple window を選んで, 次へを選択します.
  3. start to dient を選んで, 次へを選択します.
  4. clipboard を使用したければ, clipboardにチェックを入れます.
  5. Additional parameters for VcXsrv という入力フォームに -ac と入力して, 次へを選択します.
    図1.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 としておきます.
  4. WSLを開きます.
  5. vim や nano などで~/.bashrcを開きます.
  6. 開いた.bashrcの最後の行に, 以下のコマンドを追記して保存してください.
.bashrc
   export DISPLAY=aaa.bbb.ccc.ddd:0

最後にWSLを再起動すると, 先ほど編集した.bashrcが読み込まれて, 設定が反映されます.

まだ改善できていない点

WSLに割り当てられるIPアドレスは再起動を行うたびに変更してしまうそうです。今の所IPアドレスを固定する術が見当たらないため、なにか情報がありますとありがたいです。
2019年9月現在はps1ファイルを作成してIPアドレスの割当を行っております。

最後に

VcXsrv側に-ac というオプションを加えましたが, 参考サイトによりますとパブリックアクセスを許可するコマンドであるそうです. WSL2が新たなコンテナシステムを形成したことによるのかと思われます。

以前の記事

WSLでmatplotlibやgnuplotでプロットができない

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away