#はじめに
WSL2(Ubuntu 18.04)でROS1(ROS-Melodic)を使おうと設定を進める中でGUI関連のエラーに悩まされたので、それらの記録です。
#環境
- Windows10 Professional(バージョン2004 (OSビルド 19401.388))
- WSL2
- VcXsrv
WSL2導入までは(1)、WSL2導入後からGUI設定までは(2)のサイトを参考にしていた
自分の環境はWSL2だが、WSL1でも参考になると思われる
#生じたエラー
##xeyesなどのx11系アプリのGUIすら表示されない
WSLの設定を進める中で、xeyes
等を実行してもXサーバが起動しない
###エラーメッセージ
Error: Can't open display: ~IPアドレス~ :0.0
####原因
Windows Defender ファイヤウォールやその他セキュリティソフトによってXserverの通信がブロックされている
自分の環境ではESETが原因でした
###解決策
Windows Defender ファイヤウォールやESETのネットワーク保護を解除する
#####Windows Defender ファイヤウォールを直接編集できる場合
#####ESETが入っている場合
Windows Defender ファイヤウォールを直接編集できないため、
ESETを起動
-> 設定
-> ネットワーク保護
-> トラブルシューティングウィザード
-> VcXsrv windows xserver を「ブロック解除」
を行う
#####その他セキュリティソフトが入っている場合
上記を参考に、どこかで通信がブロックされていないかチェックする
##Rvizが起動直後に落ちる
xeyesなどは起動するが、ROSインストール後にrviz
を実行すると一瞬起動画面が表示されてすぐに落ちる
###エラーメッセージ
segmentation fault (core dumped) rviz
####原因
.bashrc
に設定していた LIBGL_ALWAYS_INDIRECT=1
が悪さをしていた
###解決策
LIBGL_ALWAYS_INDIRECT=
として数値を指定しない
####参考
https://github.com/ros-visualization/rviz/issues/1438
#まとめ
セキュリティソフトと環境変数には気をつけろ!という教訓を得ました
(初投稿です。ありがとうございました。)