Execute V-REP without GUI via ssh
Execute V-REP without GUI via ssh
Hi,
I want to run V-REP on a remote computer via ssh, but I get the following error when I run it there:
$ ./vrep.sh -h
QXcbConnection: Could not connect to display
Aborted (core dumped)
If I connect to the remote computer via ssh -X (X11 server activated) then the application runs, but if the connection with the remote computer dies then the application dies, even if I use "screen". Somehow it seems that even that no GUI is being activated V-REP is using the X11. This is the error that I get when I re-connect using "screen":
The X11 connection broke (error 1). Did the X11 server die?
Thanks in advance,
Sergi.
I want to run V-REP on a remote computer via ssh, but I get the following error when I run it there:
$ ./vrep.sh -h
QXcbConnection: Could not connect to display
Aborted (core dumped)
If I connect to the remote computer via ssh -X (X11 server activated) then the application runs, but if the connection with the remote computer dies then the application dies, even if I use "screen". Somehow it seems that even that no GUI is being activated V-REP is using the X11. This is the error that I get when I re-connect using "screen":
The X11 connection broke (error 1). Did the X11 server die?
Thanks in advance,
Sergi.
Re: Execute V-REP without GUI via ssh
Hello Sergi,
the current headless mode has the exact same dependency libraries as the normal mode (i.e. openGl, Qt Gui, etc.). In future we will prepare a special version that doesn't realy at all on those.
Cheers
the current headless mode has the exact same dependency libraries as the normal mode (i.e. openGl, Qt Gui, etc.). In future we will prepare a special version that doesn't realy at all on those.
Cheers
Re: Execute V-REP without GUI via ssh
Hi,
I understand. Thanks.
Sergi.
I understand. Thanks.
Sergi.
Re: Execute V-REP without GUI via ssh
This issue affects me as well. I work on optimization problems and I would like to run v-rep simulations on remote computers in a cluster.
Are there any plans to make this possible in the near future?
Thanks
Are there any plans to make this possible in the near future?
Thanks
Re: Execute V-REP without GUI via ssh
I was able to run v-rep on a remote computer using Xvfb and I thought I'd share the solution with other users who might visit this page.
If the remote server has the xvfb package installed, you can run v-rep over ssh using:
Another problem I ran into was using vision sensors, which use GPU rendering and therefore need the GLX extension on the X server. Fortunately, if the remote server has the libgl1-mesa-dri package installed, there is a way to get around that as well:
It would be nice if future versions of v-rep offer better headless support out of the box (not needing an X server or a GPU to be present.)
If the remote server has the xvfb package installed, you can run v-rep over ssh using:
Code: Select all
xvfb-run --auto-servernum --server-num=1 ./vrep.sh -h -s -q myscene.ttt
Code: Select all
xvfb-run --auto-servernum --server-num=1 -s "-screen 0 640x480x24" ./vrep.sh -h -s -q myscene.ttt
Re: Execute V-REP without GUI via ssh
Thanks for the info!
Cheers
Cheers
Re: Execute V-REP without GUI via ssh
Upvote @rezama!!rezama wrote:rezama
Re: Execute V-REP without GUI via ssh
Hey rezama,
I'm trying to run my stuff on the cluster headless using your method, but I only get blank images from the vision sensor topic... Can you tell me how you are publishing the image topics?
This is the part in my childscript where I enable the publisher:
visHandle = simGetObjectHandle('visionSensor')
simExtROS_enablePublisher( 'get_vis_sens', 1, simros_strmcmd_get_vision_sensor_image, visHandle, -1, '')
Thanks in advance!
I'm trying to run my stuff on the cluster headless using your method, but I only get blank images from the vision sensor topic... Can you tell me how you are publishing the image topics?
This is the part in my childscript where I enable the publisher:
visHandle = simGetObjectHandle('visionSensor')
simExtROS_enablePublisher( 'get_vis_sens', 1, simros_strmcmd_get_vision_sensor_image, visHandle, -1, '')
Thanks in advance!
Re: Execute V-REP without GUI via ssh
I'm using:
Code: Select all
VISION_SENSOR = simGetObjectHandle("VisionSensor")
local image_buffer = simGetVisionSensorImage(VISION_SENSOR)
Re: Execute V-REP without GUI via ssh
Hey,
thank you so much for the reply!
But this is of your child script right? How are you transmitting this image data from Vrep to ROS?
thank you so much for the reply!
But this is of your child script right? How are you transmitting this image data from Vrep to ROS?