WSLでxeyesやRvizでエラーが出たのでその原因と解決策
はじめに
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=
として数値を指定しない
参考
まとめ
セキュリティソフトと環境変数には気をつけろ!という教訓を得ました
(初投稿です。ありがとうございました。)
Author And Source
この問題について(WSLでxeyesやRvizでエラーが出たのでその原因と解決策), 我々は、より多くの情報をここで見つけました https://qiita.com/sorasso/items/27afc7a06c6e4495b792著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .