[net.unix-wizards] monitoring ttys

rpk@ecsvax.UUCP (Richard Kelley) (07/11/85)

Problem: Users frequently have problems with various application
programs, and in order to help them I have to go find them, look
over their shoulder while they reproduce the problem.

	Is there anyway I can monitor their i/o from the console
terminal, like on CMS (IBM) systems?  (The system administrator can
watch a user "conversation" with CMS.)

	Apologies if this question has been answered before...there
is probably a simple solution but I don't know of one. One other thing: 
many times the ttys are in the RAW mode, and we run sysIII.

	I am aware there may be some security concerns (although I'd
run the program under root) so if you want to mail you solution to
a "root" address use the following:
      decvax!mcnc!rti-sel!flan!root

	-Dick
USENET:  {akgua decvax duke ihnp4 unc}mcnc!ecsvax!rpk
                             -or-     mcnc!rti-sel!flan!rpk
ARPA:    decvax!mcnc!ecsvax!rpk@BERKELEY

elman@sdcsvax.UUCP (Jeff Elman) (07/17/85)

	> Problem: Users frequently have problems with various application
	> programs, and in order to help them I have to go find them, look
	> over their shoulder while they reproduce the problem.
	> 
	> 	Is there anyway I can monitor their i/o from the console
	> terminal, like on CMS (IBM) systems?  (The system administrator can
	> watch a user "conversation" with CMS.)
	> 
I have added some code to our tty handler to do this.  It allows
a tty to either share or take over the i/o to/from another tty.

It's a bit of a pain.  In addition to the changes to the tty handler
it involves changing the tty structure, adding a new system call &
entry point, plus the libc.a assist.  I can (relucntantly) supply messy
details if anyone is interested.

By the way, this is under 4.2BSD.

Jeff Elman
Phonetics Lab, UC San Diego
ARPAnet:        elman@ucsd
UUCP:           ucbvax!sdcsvax!sdamos!elman

jack@boring.UUCP (07/21/85)

Problem: looking over peoples shoulder electronically.

I think you shouldn't try to solve this with kernel mods. It's
fairly easy to write a program that copies input to/from a pseudo
tty, and makes a copy to another terminal or file on the way.
This way, you just tell the user to execute
watchme /dev/console
or something like that, and you'll be able to follow
everything he does.
-- 
	Jack Jansen, jack@mcvax.UUCP
	The shell is my oyster.

throopw@rtp47.UUCP (Wayne Throop) (07/22/85)

> > Problem: Users frequently have problems with various application
> > programs, and in order to help them I have to go find them, look
> > over their shoulder while they reproduce the problem.

> I have added some code to our tty handler to do this.  It allows
> a tty to either share or take over the i/o to/from another tty.
>               Jeff Elman

The solution I have used is to use pseudo-terminals and a
session-logging program.  In other words, you have the user with the
problem log his terminal session to your terminal.  No kernel mods
necessary, and I beleive that there are terminal session logging
programs available for 4.2 BSD (the one I use is for another OS
entirely.)  You can't take over the user's terminal session with this
scheme, but it is available "off the shelf" so to speak, and serves most
of the needs.
-- 
Wayne Throop at Data General, RTP, NC
<the-known-world>!mcnc!rti-sel!rtp47!throopw