(Groovy | 12.04 | armv7l) remote launch user privileges
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>