Display the output of multiple commands in the same terminal window

Hello,
To reduce clutter I’m looking to display the output of three hardware monitoring commands in the same window. As when I need them, the screen gets a bit too cluttered with many windows.
These are the commands. One of them has watch in front of them as they need to update:

radeontop

watch -t tail -n 15 /sys/kernel/debug/dri/0/amdgpu_pm_info

sensors zenpower-pci-00c3 nvme-pci-0100

I have tried to use multiple variables in watch, watch cat and cat but they didn’t work

I think what I need to do is have the program output “>” into watch or cat, but from there I’m lost.

Possibly the commands have to be spawned in the background, outside of the terminal, from there have their output monitored and displayed back in the terminal?

Thanks

I recommend tmux. Open it, then press Ctr+B, then :, then enter split -v, then do the same but enter split -h. Now press Ctrl+B, then the up arrow, now press Ctrl+B, then :, then enter split -h. And now you have four smaller windows. You can run whatever you want in there. You can navigate between them using Ctrl+B, then pressing an arrow key. You can resize them by holding Ctrl+B, then pressing an arrow key.

If you’re done, then stop the running applications, and press Ctrl+D until all the “tiles” (windows) disappear.

3 Likes

Another option besides Tmux is Tilix. If you want other options, search for “tiling terminal”.

1 Like

This is interesting guys, a multi window terminal. This will need to be automated though. I can either create a macro based in the keyboard bindings needed for tmux, or with Tilix the automatic profile switching: Tilix: Automatic Profile Switching. i will try to see if it works.

Before that, let me show what I discovered:

The commands that output simple text (sensors and tail from a file) are fine. I have managed to output these just nicely with this:

sudo watch “tail -n 15 /sys/kernel/debug/dri/0/amdgpu_pm_info; sensors”

Resulting in an expected output of both combined.

Howerver, the other command is an interactive terminal. Trying to watch or cat that results in garbled text. Same if I try to print it to a file:

Is there any way to capture this sort of interactive terminal’s output with graphics ascii characters etc?

Possibly in python?

I’ve seen there are ways to do this with Python and create a GUI from the output of a command. Unfortunately all of the instructbles are for 2.7 and don’t longer work. This is the only info on how to collect a command output on newer versions of python: https://stackoverflow.com/a/4760517

I think if you want to see an automated launch you can cannibalize a severely scaled down hollywood
(see AUR package and source from: AUR (en) - hollywood)

As it basically does what you are describing … but with fancy ‘hacker’ graphics and dummy output.

Ah. Found a gif. Sorry for the the poor source … but its the only one not using a crazy custom terminal.

https://media3.giphy.com/media/wmROp19pebs9W/giphy.gif

1 Like

What about using the --dump option (Use - for stdout).
http://manpages.ubuntu.com/manpages/trusty/man1/radeontop.1.html

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.