[Open3D]Xserverを使ってWSL2でGUIの表示をする方法とエラー対策
目的
ホストPCからLinuxマシンへSSH接続して、Dockerコンテナを立てて開発を行います。
エディタはVScodeです。
GUIはXサーバ(X Window System)を使用します。
このように実行結果をGUI上に表示するのが目的です。
点群データの表示についてはこちらの記事で紹介しています。
VcXsrvの入手と起動
下記をダウンロードします。
https://sourceforge.net/projects/vcxsrv
参考
https://rin-ka.net/windows-x-server/
コンテナ内のセットアップ
GUI表示のためにX11をインストールします。
apt-get -y install xserver-xorg
apt-get -y install x11-apps
xeyes
と入力して、画面上に目玉が2つ出てきたらセットアップ完了です。
xeyes
エラー対策
エラー①OSError: libGL.so.1: cannot open shared object file: No such file or directory
上記のようなエラーが出た場合、aptをアップデートしてからlibGLをインストールします。
apt-get update && apt-get upgrade -y
apt-get install -y libgl1-mesa-dev
エラー②Error: Can't open display: :0.0
上記のようなエラーが出た場合、ディスプレイの設定を行います。
export DISPLAY=aaa.bbb.ccc.ddd:0.0
export LIBGL_ALWAYS_INDIRECT=1
aaa.bbb.ccc.ddd
はローカルホストのIPアドレスを指定します。
アドレスはコマンドプロンプトでipconfig
と入力し、表示されたIPv4アドレスを使います。
※上記でうまくいかない場合は下記の方法を試してみてください。
ディスプレイ番号をvcxsrvから直接入手する方法です。
- vcxsrv.exe を直接実行("C:\Program Files\VcXsrv\vcxsrv.exe")
- ウィンドウ左上のディスプレイ番号をコピー ※下記画像参照
- コマンドプロンプトへディスプレイ番号を入力してエクスポートする (export DISPLAY=LAPTOP-OTMPSIHS:0.0)
エラー③
[Open3D WARNING] GLFW Error: GLX: GLX version 1.3 is required
[Open3D WARNING] Failed to create window
[Open3D WARNING] [DrawGeometries] Failed creating OpenGL window.
Open3Dなどを使用してプログラムを実行した際に下記のようなエラーが出てきた場合は、VcXsrvの設定を変更してみてください。
・「Native opengl」をオフにする
・「Disable aceccs control」をオンにする
ディスカッション
コメント一覧
まだ、コメントがありません