ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

rospy logging not printing across computers

asked 2012-08-07 11:56:05 -0500

jker gravatar image

updated 2014-01-28 17:13:16 -0500

ngrennan gravatar image

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.

edit retag flag offensive close merge delete


What does rxconsole show?

joq gravatar image joq  ( 2012-08-07 14:01:58 -0500 )edit

I can only ssh into the computers, so I can't use and GUI interfaces.

jker gravatar image jker  ( 2012-08-08 03:29:19 -0500 )edit

Have you tried ssh -X?

joq gravatar image joq  ( 2012-08-08 04:10:05 -0500 )edit

That did the trick, and rxconsole does seem to receive the messages. Thanks.

jker gravatar image jker  ( 2012-08-08 08:34:46 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2012-08-08 06:37:41 -0500

bhaskara gravatar image

updated 2016-07-20 17:59:22 -0500

130s gravatar image

This is expected behavior: from ,

"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.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2012-08-07 11:56:05 -0500

Seen: 691 times

Last updated: Jul 20 '16