ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

ROSshow: View ROS topics in the terminal (updated!)

Have you ever ssh’d into a robot wanting to see if a topic is outputting what it should? Have you ever wished you could get something more meaningful that what you’d get by doing rostopic echo /velodyne_points or rostopic echo /camera/image_raw? Have you ever been annoyed about how much work it takes to fire up a visualization in rviz just to see if a sensor is working? Read on.

I created this more than a year ago but there were some suggestions to make it a ROS node as well as Python 2.x compatibility. Got too busy and never got around to it back then. Well, I think I’ve done that now. It is now a ROS package that you can install. I also added support for several more data types, including CompressedImage, PointCloud2, and time series plots of most std_msgs types.

Please keep the suggestions coming! Contributions welcome too!




For std_msgs types, you’ll get a time series plot, which is great for topics like motor current or voltage.



Thanks for making this. It looks really useful! I think it might be a good idea to include some gifs showing it in action (I wonder if asciinema could capture it?).

Couldn’t help myself!
Here is a gif of rosshow with laser scan data (took a bag file from hector_slam):

Some feedback on the install process: instead of running


I run catkin_make as I would normally do with all of my ROS packages and it worked perfectly.

Another nice addition would be an up to date list of message type that you support (ideally in the readme?).

Then it would be nice for you to have a wiki page at:, start thinking of a release and maybe refactor the project structure a bit :).

I will be looking forward to see this project grow! Thanks for all the hard work!

I will also feature your project at either this week or a week after.


Thanks! Much appreciated. I will add a list of supported types to the readme, and will create wiki page soon.

Question on the install procedure – so yes, I intended for this to work via catkin_make, the normal way, and it should, but also to be installable to the system e.g. alongside “rostopic”, “rosrun”, and other commands, since I use this to visualize things from multiple workspaces on the same machine. That also allows me to use it as “rosshow /topic” instead of “rosrun rosshow rosshow /topic”. Of course, installing to the system is intended for convenience only and completely optional.

For installing to the system I’ve always found I needed to do

# catkin equivalent of "./configure; make"

# catkin equivalent of "sudo make install"
sudo bash -c "source /opt/ros/kinetic/setup.bash; catkin_make install -DCMAKE_INSTALL_PREFIX=/opt/ros/kinetic"

# fix back permissions of current directory since catkin_make install
# might create additional root-owned files, e.g. python eggs
sudo chmod -R $USERNAME .

which is quite the mouthful to type every time, which is why I created this ros-install-this which I use for every such tool I make that I want to use across multiple independent workspaces. Is there any plan for simpler way to “install” something to the system? Even for a lot of hardware driver ROS nodes that seldom change, I typically install those to the system as well instead of having a copy in every workspace.

This is awesome! Thanks!


There is another way to connect to a ROS Master using Husarnet and accessing all topics visualized in Rviz itself.

You can control the bot remotely too. Hope this helps too.