ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

Running RViZ through X forwarding on headless machine

asked 2014-02-03 21:31:47 -0600

ZdenekM gravatar image

updated 2014-02-18 23:53:59 -0600

Hello,

is there possibility to run RViZ remotely on headless machine using X forwarding (ssh -X)? The problem is that remote machine (server) doesn't have graphic card with OpenGL support so, there is MESA installed. For instance, glxgears runs, but RViZ crashes (Segmentation fault) as well as Gazebo (GLXBadDrawable). Of course that I can overcome this by running RViZ locally but I would like to avoid ROS installation on client's machine. Thanks for any hint.

gdb output:

0x00007fffed1cacc0 in xcb_glx_get_string_string_length () from /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0

Not sure if it's useful but this is OGRE log:

user@server:~$ rosrun rviz rviz -l
[ INFO] [1391509162.077619455]: rviz version 1.10.11
[ INFO] [1391509162.077696555]: compiled against OGRE version 1.7.4 (Cthugha)
[ INFO] [1391509162.252864686]: Creating resource group General
[ INFO] [1391509162.253011606]: Creating resource group Internal
[ INFO] [1391509162.253083959]: Creating resource group Autodetect
[ INFO] [1391509162.253261229]: SceneManagerFactory for type 'DefaultSceneManager' registered.
[ INFO] [1391509162.253635593]: Registering ResourceManager for type Material
[ INFO] [1391509162.253741639]: Registering ResourceManager for type Mesh
[ INFO] [1391509162.253842063]: Registering ResourceManager for type Skeleton
[ INFO] [1391509162.253959093]: MovableObjectFactory for type 'ParticleSystem' registered.
[ INFO] [1391509162.254067107]: OverlayElementFactory for type Panel registered.
[ INFO] [1391509162.254141490]: OverlayElementFactory for type BorderPanel registered.
[ INFO] [1391509162.254212287]: OverlayElementFactory for type TextArea registered.
[ INFO] [1391509162.254286650]: Registering ResourceManager for type Font
[ INFO] [1391509162.254383290]: ArchiveFactory for archive type FileSystem registered.
[ INFO] [1391509162.254463624]: ArchiveFactory for archive type Zip registered.
[ INFO] [1391509162.254534294]: DDS codec registering
[ INFO] [1391509162.254627777]: FreeImage version: 3.15.1
[ INFO] [1391509162.254700004]: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
[ INFO] [1391509162.255010967]: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2,pfm,pct,pict,pic,3fr,arw,bay,bmq,cap,cine,cr2,crw,cs1,dc2,dcr,drf,dsc,dng,erf,fff,ia,iiq,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,ptx,pxn,qtk,raf,raw,rdc,rw2,rwl,rwz,sr2,srf,sti
[ INFO] [1391509162.255109654]: Registering ResourceManager for type HighLevelGpuProgram
[ INFO] [1391509162.255292757]: Registering ResourceManager for type Compositor
[ INFO] [1391509162.255784287]: MovableObjectFactory for type 'Entity' registered.
[ INFO] [1391509162.255873534]: MovableObjectFactory for type 'Light' registered.
[ INFO] [1391509162.255957217]: MovableObjectFactory for type 'BillboardSet' registered.
[ INFO] [1391509162.256032137]: MovableObjectFactory for type 'ManualObject' registered.
[ INFO] [1391509162.256106037]: MovableObjectFactory for type 'BillboardChain' registered.
[ INFO] [1391509162.256178920]: MovableObjectFactory for type 'RibbonTrail' registered.
[ INFO] [1391509162.256392527]: *-*-* OGRE Initialising
[ INFO] [1391509162.256471531]: *-*-* Version 1.7.4 (Cthugha)
[ INFO] [1391509162.256558108]: Loading library /usr/lib/x86_64-linux-gnu/OGRE-1.7.4/RenderSystem_GL
[ INFO] [1391509162.260000802]: Installing plugin: GL RenderSystem
[ INFO] [1391509162.260118772]: OpenGL Rendering Subsystem created.
[ INFO] [1391509162.370099950]: Plugin successfully installed
[ INFO] [1391509162.370207907]: Loading library /usr/lib/x86_64-linux-gnu/OGRE-1.7.4/Plugin_OctreeSceneManager
[ INFO] [1391509162.372636195]: Installing plugin: Octree & Terrain Scene Manager
[ INFO] [1391509162.372726792]: Plugin successfully ...
(more)
edit retag flag offensive close merge delete

Comments

If this is just for a demo, consider using a remote desktop solution— eg, VNC, TeamViewer, etc. If necessary, run a secondary non-headless machine alongside the robot to host the rviz desktop for the client to connect to.

mikepurvis gravatar image mikepurvis  ( 2014-02-04 02:38:10 -0600 )edit

Thanks for hint. But as far as I know VNC has problem with transferring OpenGL windows - am I right?

ZdenekM gravatar image ZdenekM  ( 2014-02-18 23:50:48 -0600 )edit

This is not a real solution, but you could also consider setup something with Robot Web Tools (http://robotwebtools.org), that would only require a browser on the client side. A fully-fledged rviz is to my knowledge not yet available, though quite a few building blocks are there already.

po1 gravatar image po1  ( 2014-02-20 11:26:11 -0600 )edit

Using web RViz would be awesome! But as you said - there is no fully-fledged solution. We will probably try to integrate components into one RViz-like solution but it will take (lot of) time...

ZdenekM gravatar image ZdenekM  ( 2014-02-23 20:37:22 -0600 )edit

1 Answer

Sort by » oldest newest most voted
2

answered 2014-02-03 23:11:37 -0600

gvdhoorn gravatar image

updated 2014-02-03 23:16:16 -0600

To visualise data and interact with nodes through RViz you don't need to run it on the machine running your roscore, as long as the machine running RViz is able to connect to the master on your headless machine. You basically setup a two machine ROS network, with only RViz on your desktop (fi). All the other nodes can run on your headless machine.


> Of course that I can overcome this by running RViZ locally but I would like to avoid ROS installation on client's machine.

Hm, rereading your question: am I correct in understanding that you don't want to install RViz on another machine? In that case, sorry for the noise.

edit flag offensive delete link more

Comments

Thanks for answer. Well, I know this but I would like to avoid ROS installation on client's machine (if possible). It's intended as development machine for students, workshops etc. which should shield users from need of installing ROS... So this is why remote access is preferred.

ZdenekM gravatar image ZdenekM  ( 2014-02-03 23:14:51 -0600 )edit

Yes, you're right. The goal is to have 100% remote access without local installation. But it seems to be bit problematic. Np, thanks anyway for your interest :)

ZdenekM gravatar image ZdenekM  ( 2014-02-03 23:22:38 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2014-02-03 21:31:47 -0600

Seen: 5,600 times

Last updated: Feb 18 '14