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

(Groovy | 12.04 | armv7l) remote launch user privileges

asked 2013-03-11 08:42:41 -0500

amrivera gravatar image

I am currently running ubuntu through a VNC connection on my TABLET. If I were to ssh to it from my LAPTOP, I would type ssh ubuntu@tabletIP. However, once in, I have to change to root (sudo -s) in order to have the needed privileges to run ROS or else I would get errors like:

started roslaunch server http://----:41081/
remote[tabletIP-0] starting roslaunch
remote[tabletIP-0]: creating ssh connection to tabletIP:22, user[ubuntu]
remote[tabletIP-0]: ssh connection created
remote[tabletIP-0]: WARNING: cannot create log directory [/home/ubuntu/.ros/log/eb430812-8a7f-11e2-9b36-74e50b7d35ea]. Please set ROS_LOG_DIR to a writable location.
No handlers could be found for logger "roslaunch.server"
Exception while registering with roslaunch parent [http://----/]: Traceback (most recent call last):
  File "/opt/ros/groovy/lib/python2.7/dist-packages/roslaunch/server.py", line 498, in _register_with_server
    code, msg, _ = server.register(name, self.uri)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1224, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1578, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/xmlrpclib.py", line 1264, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1292, in single_request
    self.send_content(h, request_body)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1439, in send_content
    connection.endheaders(request_body)
  File "/usr/lib/python2.7/httplib.py", line 954, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 814, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 776, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 757, in connect
    self.timeout, self.source_address)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
error: [Errno 113] No route to host


[tabletIP-0] killing on exit
remote roslaunch failed to launch: TABLET

How can I modify my remote launch file, so that I may connect as ubuntu and then switch to root? or what other work around do you suggest?

it currently reads:

<launch>
   <machine name="M1" address="laptopIP" ros-root="/opt/ros/electric/ros" ros-package-path="/home/me/workspace:/opt/ros/electric/stacks" 
            user="me" default="true">
   </machine>
   <machine name="M2" address="tabletIP" default="never" ros-root="/opt/ros/groovy" ros-package-path="/home/ubuntu/ros_ws" user="ubuntu" password="ubuntu" timeout="20.0">
     <env name="PYTHONPATH" value="/opt/ros/groovy/lib/python2.7/dist-packages" />
     <env name="ROS_MASTER_URI" value="http://laptopIP:11311" />
     <env name="ROS_LOCATIONS" value="roslaunch=/home/ubuntu/ros_ws/build_isolated/roslaunch/catkin_generated/stamps/roslaunch" />
   </machine>

  <node machine="M2" name="gui_node" pkg="pabi_gui" type="guiapp.py"/>
    <include file="$(find pabi_gui)/launch/pic_res.launch"/>
</launch>
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2013-03-12 04:37:59 -0500

joq gravatar image

updated 2013-03-12 04:39:07 -0500

Looks like your permissions in ~ubuntu/.ros are screwed up, probably from running things as root.

Try logging in as ubuntu and fixing the file ownerships:

$ sudo chown -R ubuntu.ubuntu ~/.ros

If you've been doing that sort of thing, you may need to fix some other files, too.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2013-03-11 08:42:41 -0500

Seen: 425 times

Last updated: Mar 12 '13