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

Revision history [back]

click to hide/show revision 1
initial version

Related: robot_upstart: could not open port /dev/ttyUSB0.

To clarify: robot_upstart uses a completely distinct user to run your launch files, that has no relation to your own user whatsoever. This means that processes run under that user will have no permission to connect to the X server that is running under your user. That could explain the cannot connect to X server.

Note that this is not robot_upstart or ROS specific: by default, users cannot access resources they have no permissions for under Linux.

PS (and pedantic): technically RViz didn't crash: one of the prerequisites for it to work is to have a working X server. Since it can't connect to one, it can't initialise the application successfully, and just exits (most likely here).

Related: This could either be a permission problem, or there really is no X server running when robot_upstart starts your launch files.

If the first, see robot_upstart: could not open port /dev/ttyUSB0.

as a related question. To clarify: robot_upstart uses a completely distinct user to run runs your launch files, files under the same user as the one that has no relation to installed them, but (from robot_upstart 0.2.0 documentation » The install script - permissions):

The roslaunch which executes does not have its user’s group memberships.

This could lead to the rviz instance not having any access rights to the X server.

The second (and looking at the error message, likely) option is that at the moment that your own user whatsoever. This means that processes run under that user will have no permission to connect to jobs are being started, the X server that is running under your user. That could explain the cannot connect to X server.

Note that this is not robot_upstart or ROS specific: by default, users cannot access resources they have no permissions for under Linux.hasn't started yet, and as RViz needs one, it can't continue.

PS (and pedantic): technically RViz didn't crash: one of the prerequisites for it to work is to have a working X server. Since it can't connect to one, it can't initialise the application successfully, and just exits (most likely here).

This could either be a permission problem, or there really is no X server running when robot_upstart starts your launch files.

If the first, see robot_upstart: could not open port /dev/ttyUSB0 as a related question. To clarify: robot_upstart runs your launch files under the same user as the one that installed them, but (from robot_upstart 0.2.0 documentation » The install script - permissions):

The roslaunch which executes does not have its user’s group memberships.

This could lead to the rviz instance not having any access rights to the X server.

The second (and looking at the error message, likely) option is that at the moment that your jobs are being started, the X server hasn't started yet, and as RViz needs one, it can't continue.

PS (and pedantic): technically RViz didn't crash: one of the prerequisites for it to work is to have a working X server. Since it can't connect to one, it can't initialise the application successfully, and just exits (most likely here).