Gazebo 9.4.1 won't start via x2go
Hey there!
Short summary of my problem: I have a PC with Ubuntu 18.04. running the LXDE desktop environment. Gazebo 9.4.1. works smoothly. However, I was not able to start it from a remote PC logged in via x2go. In this case, the following error message (nothing else) is printed on the console:.
Error [Param.cc:404] Invalid argument.
Unable to set value [.1 ] for key[near].
Exception [Param.cc:57] SDF ASSERTION
Invalid parameter
In function : Param
Assert expression : this->ValueFromString(_default)
terminate called after throwing an instance of 'sdf::AssertionInternalError'
Background: I am trying to set up a dedicated, powerful development PC for some projects based on ROS/Gazebo with highly complex simulations, to be used by a couple of researchers and students. I installed ros-melodic-desktop-full and was able to run a simple test simulation just fine. To allow concurrent usage of this machine, remote access with x2go is desired. Unfortunately, x2go does not support GNOME, which is the default desktop environment for Ubuntu 18.04. Therefore I installed LXDE (using tasksel), which x2go handles very well. As mentioned i can start Gazebo when logged in directly on this machine (either LXDE or GNOME), but not if logged in remotely.
I would highly appreciate any hint about how to fix this or other ideas on how to set up a remote development machine. Surely I'm not the only one with this kind of problem?
Thank you so much in advance!
UPDATE: I was able to make some progress by editing the file /etc/default/locale and setting everything to enUS.UTF-8. For some reason it didn't like that some were originally set to deDE.UTF-8 as it seems. Now, I get another error message when lauching gazebo --verbose:
...
[Err] [RenderEngine.cc:740] Unable to create glx visual
[Wrn] [RenderEngine.cc:93] Unable to create X window. Rendering will be disabled
[Wrn] [RenderEngine.cc:293] Cannot initialize render engine since render path type is NONE. Ignore this warning ifrendering has been turned off on purpose.
[Err] [GLWidget.cc:178] GLWidget could not create a scene. This will likely result in a blank screen.
...
From what I found out with Google so far, this could be related to the fact that this PC has 2 ATI graphics cards in it. However I wonder why it had no issues when launched directly on the machine (not via remote login). I will investigate, but of course any pointer is still appreciated.
Asked by mstampa on 2018-10-23 08:37:59 UTC
Comments
Seems to me two different errors. 1) seems a problem with the SDF file particularly related to the value defined for the near key. could you please add the piece of SDF related to this? 2) Does the remote computer and the local one have the same X org drivers or only the remote computer has graphic acceleration?. An alternative approach can be run gzserver in the remote machine and gzclient in the local one: http://gazebosim.org/tutorials?tut=components#EnvironmentVariables
Asked by Jose Luis Rivero on 2018-10-25 10:13:37 UTC
Thanks for the replay, Jose!
1) I started gazebo without any parameters or input except --verbose, so it should be the empty.world that is loaded. Don't know which other SDFs are involved in this case, sorry.
2) With xdpyinfo I get the following: Client (local machine with Ubuntu 18.04.01 and Nvidia Card) - X.Org version: 1.19.6 Server (remote machine) - X.Org Version 7.0.0
Asked by mstampa on 2018-10-26 07:30:51 UTC
The list of extensions differs a bit as well.
I tried running only gzclient on my local machine. That does work to some degree, but there's at least one plugin (opticalFlow) that's not visualized.If all else fails I will have to work with that somehow, but my intention is to put as much load as possible (including rendering) onto the remote machine.
By the way: I asked the question in the x2go IRC as well. The told me to try "desktop sharing", but this didn't change anything.
Asked by mstampa on 2018-10-26 07:39:28 UTC