How does one view the terminal (tty) output externally? (Not a new ssh session, but what is currently going on)

1

Basically I've set up a few Raspberry Pis running different programmes, and I'd like to see what is being outputted on them. I can obviously connect via SSH, but that's a new tty session. Tried googling it, but I think my terminology is a little odd!

Elliot Reed

Posted 2013-08-27T12:06:00.007

Reputation: 125

Your terminology is a little odd yes :). Could you give an example so we can understand what you mean? – terdon – 2013-08-27T12:19:02.340

So I've got a Bash script running on the Raspberry Pi, and I want to remote login and view the output of that Bash script remotely. The Bash script is requiring user input on the Raspberry Pi. Like when I access via SSH it's a new session, rather than monitoring what's happening on the physical device.. – Elliot Reed – 2013-08-27T12:24:54.303

Look for "process standard output" or "proc linux stdout" (eg see here). This is also relevant (monitoring a terminal).

– Ярослав Рахматуллин – 2013-08-27T12:58:57.303

If you're running something interactive, you might want to start it in a screen session: http://superuser.com/a/454914/223699. You could then attach to the screen to see what is going on.

– SlightlyCuban – 2013-08-27T20:01:15.220

Answers

3

try screen:

Logon to a Terminal and type apt-get install screen to install it.
Start screen by typing screen.
Tap Enter to get past the welcome screen.
start a process, for example a slow download:

curl --limit-rate 5K \
http://archive.raspbian.org/raspbian/dists/wheezy/main/binary-armhf/Packages

Press ^ad - Ctrl+a (Release Buttons) d - to detach.
Close the terminal.
logon as the same user (via SSH if you like) and type screen -r to resume.

screen can do a lot more, check out man screen.

As a side note, if you want your process to start on boot you should consider using an init script and make your process write logfiles.

Florian Fida

Posted 2013-08-27T12:06:00.007

Reputation: 146

Four years later and I've accepted this (apologies for being somewhat late!). Thanks to you however I now use screen all the time :) – Elliot Reed – 2017-05-08T15:33:36.667

0

As far as I know, there is no way of observing the output of a command run in a separate shell. Each shell (bash , for example) instance is a separate entity and you cannot communicate with it from a different shell.

The only way to monitor output would be to have your command save its progress in a file and then monitoring that file. For example, on the Pi:

some_command > some_file

or, to monitor standard error instead of standard output:

some_command 2> some_file

You can then watch the progress from another computer by running

ssh user@pi tail -f /path/to/some_file

terdon

Posted 2013-08-27T12:06:00.007

Reputation: 45 216