Networking issues with tmux
If I run roslaunch
within a tmux
session on a remote machine, I get the following error when attempting to do a remote service call (i.e. rosservice call foo
):
ERROR: Unable to communicate with service [/foo], address [rosrpc://remote-machine:42565]
I am running roslaunch using ssh root@$192.168.1.20 "tmux new-window 'source /opt/ros/indigo/setup.bash && roslaunch some_pkg some_launch_file.launch'"
(where 192.168.1.20 is the IP of the remote-machine).
If, instead, I just run ssh root@192.168.1.20 "source /opt/ros/indigo/setup.bash && roslaunch some_pkg some_launch_file.launch"
then everything works just fine, and I am able to make service calls.
Interestingly enough, in both cases I am able to list services just fine using rosservice list
. But I cannot actually make service calls if roslaunch
is running under tmux
.
Any idea why this is happening?
Asked by duffany2 on 2015-04-30 16:35:27 UTC
Answers
There is probably a difference in what implicitly gets sourced such as your .bashrc
files etc. You should check what env
looks like in both and do a diff.
It looks like the remote machine is advertising itself as remote-machine
but you're sshing by IP. You should make sure you can reach it by it's name or else set it up to advertise it's IP via ROS_IP
See the Network Setup wiki page
Asked by tfoote on 2015-05-01 02:41:06 UTC
Comments
Ah, I think you are right. I'll try this tomorrow. Thanks!
Asked by duffany2 on 2015-05-01 03:59:03 UTC
Comments