ROS2 Explorer TUI
A Terminal User Interface (TUI) app for exploring ROS2 nodes, topics, services, actions, and message types.
Requirements
- ROS2 Humble, Iron, or Jazzy already installed on system
- pipx (
sudo apt install pipx)
Installation
Source your ROS2 installation first, then install with pipx:
source /opt/ros/humble/setup.bash # or iron, jazzy, etc.
pipx install ros2-term
Then run:
ros2-term
Note: ROS2 must be sourced in any shell where you run ros2-term.
Command Line Options
ros2-term [--profile NAME] [--continue] [--refresh-rate SECONDS]
--profile NAME- Load specific profile on startup--continue- Resume last used profile--refresh-rate SECONDS- Set refresh interval (default: 2.0)--help- Show available profiles and config location
Troubleshooting
If you have multiple Python versions installed and see import errors related to ROS2 packages, force pipx to use the system Python explicitly:
pipx install ros2-term --python $(which python3)
Features
- Tree views for nodes/topics with expandable details
- Topic watching (
w) with spinning propeller showing publish rate - Topic inspection: Hz (
h), echo (e), sample (s) - Profile system: Auto-save/load watched topics and views
- Clickable links between entities (node → topic → type)
- History navigation (
b/f) - Search with regex support
- Native
rclpyintegration (no subprocess overhead)
Key Components
ros2_client.py- Nativerclpyintegration with background executortopic_watcher.py- Hz tracking and propeller animationconfig.py- Profile persistencewidgets.py- In-place tree updates (no flicker)
Keyboard Shortcuts
| Key | Action | Visible in Footer |
|---|---|---|
? |
Show help screen | ✓ |
w |
Watch/unwatch topic | ✓ |
h |
Show Hz for topic | ✓ |
e |
Echo topic (continuous) | ✓ |
s |
Sample topic (single msg) | ✓ |
a |
Toggle array visibility | ✓ |
r |
Reload current view | ✓ |
b |
Navigate back in history | |
f |
Navigate forward in history | |
v |
Toggle verbose mode | |
c |
Collapse all tree nodes | |
p |
Save profile | |
1 |
View nodes | |
2 |
View topics | |
3 |
View services | |
4 |
View actions | |
5 |
View message types | |
q |
Quit |
Navigation
- Arrow keys navigate tree, Enter expands/collapses
- Click entity names in info panel to navigate
b/ffor history navigation- Tree state preserved when switching views
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ros2_term-0.1.0.tar.gz.
File metadata
- Download URL: ros2_term-0.1.0.tar.gz
- Upload date:
- Size: 44.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba6732aecb7682320b933aeffff5e4beee5d80cc5b4ec287ff6c8ee381897491
|
|
| MD5 |
42979954634a21bfc3ec63fb9c2f7c98
|
|
| BLAKE2b-256 |
2da09da820a8d34de87bf05e2e6b039c841f2a916ef1198ab1ead3da3b0c9237
|
File details
Details for the file ros2_term-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ros2_term-0.1.0-py3-none-any.whl
- Upload date:
- Size: 35.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1851aab3b3bb4da9aad8b613e6bc5be5900c3400326d000daf1951097b899b6
|
|
| MD5 |
febdfce0b5bd4ff7c95d9d2044c9e75c
|
|
| BLAKE2b-256 |
c6a133d0c263c2b546b9130686f07698b98dad65b79d6dd8c0727c4aade933d4
|