SSH X11 ForwardingにおいてMacでRvizを起動することはできません

今回はリモートのPCにssh接続してx11 forwardingからRvizを起動することはできるのかについて解説していきます.ちょっと何言ってるかわからないかもしれませんが要はMacでUbuntuのPCにX11環境でSSH接続したときにRvizを起動したかったという話です.

はじめに

最近コロナウィルスの影響により研究室でもリモートで研究を行うようにというお達しが来て合法的に研究をサボれるようになりました.ただ,やはり多少は研究も進めなくてはなーという気持ちがあるため今回は自前のMac PCでX11 Forwardingを活用することによりROSのRvizを起動する方法を知りたいと思い1日を無駄にしました.是非見ていってください.
ssh接続に関しては基本的にMacにXquartzをインストールしている前提ですのでインストールしていない方はこちらのページからインストールしてみてください.

記事リンク

ちなみにUbuntuにSSHする方法については以下の記事にて解説していますので是非ご覧ください.

立命館大学の学内ネットワークを通して研究室のPCにssh接続する方法【Ubuntu 16.04】

通常通りにssh -Xオプションをつけてssh接続した後にrvizを起動すると以下のようなエラーが出るようになっています.これを解決してくことが目標でした.

[ INFO] [1585798077.816992420]: rviz version 1.13.7
[ INFO] [1585798077.817098872]: compiled against Qt version 5.9.5
[ INFO] [1585798077.817128033]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1585798077.824167756]: Forcing OpenGl version 0.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
fish: “rviz” terminated by signal SIGSEGV (Address boundary error)

ということはおそらくOpenGL関連のエラーかと思われますのでまずはOpenGLを使用したアプリケーションがうまく動くのか確かめていきましょう.

glxgearsの実行結果

まずはOpenGLを使用した代表的なアプリケーションであるglxgearsを実行した結果を見てみます.以下のコマンドをssh -Xで接続した先のターミナルにて実行してください.

glxgears

実行されれば以下の画像のようなアプリケーションが起動するはずです.

スクリーンショット 2020-04-02 14.01.16

このアプリケーションですが本来はこの歯車がぐるぐると回り出します.しかし先ほど起きたOpenGLのエラー通り歯車は止まったままでした.以下がglxgearsを終了した後のエラー文です.

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

まぁ先ほどと同じですね.OpenGL関連のエラーのようです.というわけでここらへんのエラーを解決していきましょう.

リモートでRvizの起動はできません.

と思って1日くらい色々調べたのですがこのサイトに書いてあるとおりリモートでのRvizの起動はできないらしいです.終わってますね.
正直OpenGL関連のエラーと分かってから適当に環境をいじりすぎてリモートじゃない環境でもRvizが動かなくなってしまったのでまたUbuntu初期化してきます...

さいごに

結論としてはリモートでRvizの起動はできません.どうしても起動したい場合はVNC接続するのが良いでしょう.本当に1日近く時間を無駄にしましたのでこの記事を読むことで私のようにハマる人が現れないことを祈っております.

0 件のコメント :

コメントを投稿