茱萸note

電子工作の備忘録と旅行の記録

Windows WSL 電子工作

WSLでGUIアプリを起動させる

投稿日:2020年5月1日 更新日:

WSLでGUIアプリを動かすためにVcXsrvというX Window サーバーをインストールします。


目次


はじめに

  • WSLの導入が済んでいる事を前提としている。以前記事を書いているので参考にしてほしい。

WSLは基本的にターミナル上で操作をおこなうが、WindowsにX Window サーバーというのをインストールすると、GUIアプリが使えるようになる。

VcXsrvをインストールする

VcXsrvをダウンロードする。
https://sourceforge.net/projects/vcxsrv/

ダウンロードできたら、インストーラーを起動してインストールをする。

インストールが完了したら、『高DPI設定の変更』をします。デスクトップかスタートメニューで『XLaunch』を右クリックして、『ファイルの場所を開く』を選択。

『xlaunch(.exe)』を右クリックして、『プロパティ』を選択。

『互換性』をクリックしたのち、『高DPI設定の変更』をクリック。

『高いDPIスケールの動作を上書きします。』にチェックを入れて、『システム』を選択し、『OK』。

VcXsrvを起動して確かめてみる

デスクトップかスタートメニューからXLaunchを起動してみる。

すると、色々と設定項目が並ぶが、基本そのまま『次へ』を押せば大丈夫である。

初回起動時は、Windows Defender ファイラウォールの警告画面が出る。プライベートネットワークとパブリックネットワークの両方にチェックを入れて『アクセスを許可する』をクリックする。

VcXsrvが起動しているかどうかは、通知領域のアイコンがあるか無いかで判断できる。

VcXsrvの起動が確認できたら、WSLを起動させて、次のコマンドを順に入力する。

sudo apt install x11-apps
xeyes

次のように目が表示されたら成功である。

VcXsrvを自動で起動するようにする

Windowsを再起動する度にVcXsrvを起動するのは面倒なので、WSLを起動した時にVcXsrvも起動するように設定をする。

WSLを起動し、 code ~/.bashrc と打ち込んで、次をファイルの末尾に追記する。



# Start VcXsrv

if ! tasklist.exe | grep vcxsrv.exe > /dev/null ; then
  "/mnt/c/Program Files/VcXsrv/vcxsrv.exe" :0 -multiwindow -clipboard -noprimary -wgl > /dev/null 2>&1 & 
fi

export DISPLAY=localhost:0.0
export LIBGL_ALWAYS_INDIRECT=1

保存して VsCode を閉じる。次回以降WSLを起動するときは、VcXsrvが起動していなければ勝手に起動してくれる。

-電子工作
-, ,


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Alexa で ESP8266 を操作する方法【Alexa×Arduino 検討】

Alexa を搭載した Amazon Echo 等を使って ESP8266(Arduino)を操作する方法を検討します。

【上級者向け】Ubuntuをデュアルブートする《その1:既にWindowsが入っているSSD・HDDにUbuntuを入れる》

既にWindowsがインストールされているSSD・HDDに追加でUbuntuをインストールする方法です。上級者向け。

権限のない環境でvirtualenvを入れる

sudoが使えない、root権限のない環境でvirtualenvを入れます。

Alexa で ESP8266 を制御する ―― プログラムの解説編【Alexa×Arduino その3】

Alexa で ESP8266 を制御するプログラムの解説です。

WindowsでSerialポートを使う

C++/CLI又はC#を使い、Windows上でSerialポートの制御をしてみます。