[comp.os.vms] Session Logs

padwa%harvsc3@HARVARD.HARVARD.EDU (Danny Padwa) (01/05/88)

Does anybody know of any ways, short of something along the lines of
	SET HOST/LOG 0
to get a copy of a terminal session (except, of course, a terminal printer).

We are having trouble here in that many users (students, at teacher's request)
use the SET HOST/LOG command to save a session, and then, when things don't
work try it again, without closing the first session. This creates tremendous
overhead, both for them ("Why is the machine so slow?") and the staff ("Why
is the machine so slow?") :-).

	I suspect that a solution could be found by playing with the SYS$OUTPUT
logical, but a lot of playing with that hasn't hit a viable solution (we need
to keep terminal output too!!!).

	Any help would be appreciated. Any ideas?
	
		Thanks,
			Danny Padwa
			PADWA@HUSC3.BITNET
			PADWA@HUSC3.HARVARD.EDU

nagy%warner.hepnet@LBL.GOV (Frank J. Nagy, VAX Wizard & Guru) (01/05/88)

Danny Padwa <padwa%harvsc3@harvard.harvard.edu> writes:

> Does anybody know of any ways, short of something along the lines of
>     SET HOST/LOG 0
> to get a copy of a terminal session (except, of course, a terminal printer).
     
What you are looking for is a pseudo-terminal package for VMS.
Such a package does exist, submitted by Kevin Carosso, and is on
the Spring 1987 VAX SIG tape in [VAX87B.CAROSSO.PTYDRIVER].  The
VAX SIG tapes are available from your Local DECUS Users Group (LUG)
or from the DECUS Library.

==================================================================
= To contact the DECUS Library for general information before    =
= placing an order, call (617) 480-3418 or 480-3659 or 480-3446. =
=								 =
= To contact DECUS about becoming a member (no charge), to check =
= membership status, change of address or other membership	 =
= information, call (617) 480-3418 or 480-3659 or 480-3446.	 =
==================================================================

The PTYDRIVER package includes a pair of drivers and a PHOTO program
which uses a pseudo-terminal to capture a terminal session (executed
in a subprocess).  This package is the "Carnegie-Mellon PTY drivers"
which has been mentioned before on the net.

= Frank J. Nagy   "VAX Guru & Wizard"
= Fermilab Research Division EED/Controls
= HEPNET: WARNER::NAGY (43198::NAGY) or FNAL::NAGY (43009::NAGY)
= BitNet: NAGY@FNAL
= USnail: Fermilab POB 500 MS/220 Batavia, IL 60510

dhaskin@lucy.wellesley.EDU (Denis Haskin) (01/05/88)

Danny Padwa ( Padwa@HUSC3.Harvard.Edu) asks:

> Does anybody know of any ways, short of something along the lines of
> 	SET HOST/LOG 0
> to get a copy of a terminal session (except, of course, a terminal printer).
>  
> We are having trouble here in that many users (students, at teacher's request)
> use the SET HOST/LOG command to save a session, and then, when things don't
> work try it again, without closing the first session. This creates tremendous
> overhead, both for them ("Why is the machine so slow?") and the staff ("Why
> is the machine so slow?") :-).

The problem is really not with SET HOST but with users forgetting that they're
already in a recorded session, and SET HOSTs inability to trap that.  There may
be a way to handle it by restricting network access in the new process, but you
would probably want to go with an alternate session recording utility, such as
PHOTO (which is public domain (I believe) and fairly easily available).

PHOTO creates a subprocess for the user and copies all terminal I/O into a
file.  To terminate the session, the user logs out.  The trick is that by
adding the PHOTO command in at login time ($ SET COMMAND PHOTO.CLD) rather than
having it reside in the permanent system DCL table, the subprocess created by
PHOTO does *not* have a PHOTO command!  So when someone tries to PHOTO again
(this is a PHOTO log file):

Lu$ show time
   5-JAN-1988 09:47:23
Lu$ photo
%DCL-W-IVVERB, unrecognized command verb - check validity and spelling
 \PHOTO\
Lu$ logox
  Process DHASKIN_1 logged out at  5-JAN-1988 09:47:30.16

Let me know if you need more info about getting PHOTO.


Denis Haskin, Network Manager      DHaskin@Lucy.Wellesley.Edu
Wellesley College
617-235-0320 x3123

LUNDIN@URVAX.BITNET (John Lundin Jr) (01/06/88)

> Date:         Mon, 4 Jan 88 22:30:40 est
> From:         Danny Padwa <padwa%harvsc3@harvard.harvard.edu>
> Subject:      Session Logs
>
> Does anybody know of any ways, short of something along the lines of
>     SET HOST/LOG 0
> to get a copy of a terminal session (except, of course, a terminal printer).

You might want to try PHOTO.  There are two versions around, one in C and
the other in Pascal (the C one has a few more features but wants LOG_IO
priv to run - install it, don't give it out! :-)  These capture everything
printed to the screen by the program and system.  They also ignore broadcasts
(this could be changed).

Both of them require installation of KVC's pseudo-terminal driver on your
system first.  If you decide to do this, DO NOT USE THE ONE OFF THE 1986
OR EARLIER DECUS TAPES!!  IT CAN CRASH YOUR SYSTEM!  It got ours.  The one
on the spring 1987 Vax Symposia tape appears to be current.

> We are having trouble here in that many users... use the SET HOST/LOG command
> to save a session, and... try it again, without closing the first session.
> This creates tremendous overhead...

PHOTO is also subject to the same problem of people logging into it again
without closing the first session.  It is easier to fix though.  On Decnet
logins, you can add logic to the systemwide login file to log out a user
if there is already an RT device with the same owner, but this slows down
the login procedure and would not allow logging parallel or remote sessions.
With PHOTO you can put the logic in the program itself, and simply make it
exit with an error message if anyone attempts to run it from a pseudo device.

Also, if you decide to use pseudoterminals, be VERY CAUTIOUS of the driver
each time you change VMS versions.  It will probably break again with 5.0.

We don't give out NETMBX by default (just as well as it turns out, considering
the mail "hole" it opens up) and still haven't released PHOTO to general use.
This is a "do as I say, not as I do" kind of message.  :-)

If you have VT102 or VT200 series terminals, there is the serial printer,
but you didn't want to hear about that!  We're using terminal printers...


--------------------------------------------------------------------------
John Lundin, Jr.         VAX785::LUNDIN                    (UR/MCV Decnet)
Academic Computing       LUNDIN@URVAX                         (BITNET)
University of Richmond   lundin%urvax.bitnet@cunyvm.cuny.edu  (Internet)
Richmond, VA  23173      ...!rutgers!urvax.bitnet!lundin      (? Usenet)

This note may not reflect the official policies of UR or Academic Computing.

carl@CITHEX.CALTECH.EDU (Carl J Lydick) (01/06/88)

 > Does anybody know of any ways, short of something along the lines of
 > 	SET HOST/LOG 0
 > to get a copy of a terminal session (except, of course, a terminal printer).

Somebody already suggested using a pseudo-terminal driver and software to
capture the terminal session.

 > We are having trouble here in  that  many  users  (students,  at  teacher's
 > request)  use  the  SET  HOST/LOG command to save a session, and then, when
 > things don't work try it again, without closing the  first  session.   This
 > creates  tremendous overhead, both for them ("Why is the machine so slow?")
 > and the staff ("Why is the machine so slow?") :-).

If you don't want to (or can't) use the pseudo-terminal driver, you might
consider setting the MAXJOBS field in the SYSUAF entry for these users to
some small value (for example, 2).  This prevents them from logging in many
jobs at once, and may solve your problem.

 >         I suspect that a solution  could  be  found  by  playing  with  the
 > SYS$OUTPUT  logical,  but  a  lot  of playing with that hasn't hit a viable
 > solution (we need to keep terminal output too!!!).

The only way I can think of to do this has the same drawbacks as SET HOST/LOG:
You could spawn a subprocess which takes its input from a mailbox (assume
you've given it the logical name MAILBOX:) and copies it to both a logfile and
the user's terminal.  Then execute the commands:
	$ SET VERIFY
	$ @TT:/OUTPUT=MAILBOX:
This approach has the additional drawbacks that SYS$OUTPUT is no longer a
terminal, so things like type/page won't work right, and that prompts will
tend to appear a line or two above the end of the output of the previous
command.

tihor@acf4.UUCP (Stephen Tihor) (01/07/88)

ne can also modify the standard prompt to indicate if they are coming in
over a network link to remind themthey are already set host-ed.  Only 1 line of
DCL.

WIZARD@RITA.ACS.WASHINGTON.EDU (The Bandit "." "." "." "", on" "RITA) (01/07/88)

Danny Padwa <padwa%harvsc3@harvard.harvard.edu> writes:

> Does anybody know of any ways, short of something along the lines of
>     SET HOST/LOG 0
> to get a copy of a terminal session (except, of course, a terminal printer).
>
> We are having trouble here in that many users (students, at teacher's request
)
> use the SET HOST/LOG command to save a session, and then, when things don't
> work try it again, without closing the first session. This creates tremendous
> overhead, both for them ("Why is the machine so slow?") and the staff ("Why
> is the machine so slow?") :-).
>
>     I suspect that a solution could be found by playing with the SYS$OUTPUT
> logical, but a lot of playing with that hasn't hit a viable solution (we need
> to keep terminal output too!!!).


Here at the University of Washington, we have a program called RECORD.  RECORD,
which was written by Mark W. Renton before SET HOST /LOG was invented, has its
limitations, but it has served us well for a number of years.  As for users
forgetting that they are SET HOSTed, this doesn't happen with RECORD.  A user
running RECORD >knows< (s)he is running RECORD, and is not likely to forget it.

I have also heard of another package, called PHOTO or something similar, which
also does what is wanted.

As for playing with logical names, we were never able to get this to work.

If you would like more information, send me a short note.

Derek Haining
Academic Computing Services
University of Washington
Seattle, Washington
(206) 543-5852

DEREK@UWARITA.BITNET
        -or-
DEREK@RITA.ACS.WASHINGTON.EDU