0
$\begingroup$

Rosanswers logo

The Setup: Two computers, both running various nodes. Computer A is the master where the launch file is run from that launched all the nodes being used. Computer B is a slave running several nodes as directed by Computer A.

The Problem: While running a python node, I noticed that none of the rospy.log*() calls print anything to the screen on A when it is called by a node on B. However calling the rospy logging functions while on A prints on A (I haven't tried checking B, as I'm not sure how to force ROS terminal output).

My Attempts: I've tried all of the logging levels, and manually setting the log level of the node, but no dice. As a workaround I've just been publishing debug information to a topic from the node in B and echoing the topic on A, but this is a messy way to get it done and it would be simpler to just have everything print in the main terminal the launch file is run from.


Originally posted by jker on ROS Answers with karma: 115 on 2012-08-07

Post score: 0


Original comments

Comment by joq on 2012-08-07:
What does rxconsole show?

Comment by jker on 2012-08-08:
I can only ssh into the computers, so I can't use and GUI interfaces.

Comment by joq on 2012-08-08:
Have you tried ssh -X?

Comment by jker on 2012-08-08:
That did the trick, and rxconsole does seem to receive the messages. Thanks.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

This is expected behavior: from http://www.ros.org/wiki/roslaunch/Architecture,

"Remote processes do not forward their stderr/stdout to your local console. In general, nodes should be reporting important information using ROS' builtin logging mechanisms (i.e. rosconsole for roscpp, logout/logerr for rospy, etc...). This allows you to view this important information via the rosout tools."

On your local machine where you do have an X-server, start up a terminal, set the ROS_MASTER_URI environment variable to point to the master on computer A, then run rqt_console.


Originally posted by bhaskara with karma: 1479 on 2012-08-08

This answer was ACCEPTED on the original site

Post score: 2

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.