Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

multiscreen(M)

enable(C)


     MSCREEN(M)                           UNIX System V



     Name
          mscreen - serial multiscreens utility


     Syntax
          mscreen [ -s ] [ -n number ] [ -t ]


     Description
          mscreen allows a serial  terminal  to  have  multiple  login
          screens similar to the multiscreen(M) console.

          Note:  For full mscreen support the terminal must  have  the
          ability  to  switch  internal screen pages on command and it
          must retain a separate cursor position for each screen page.

          The options are used as follows:

          -s        Silent mode.  This  flag  suppresses  the  startup
                    messages,  and on ``dumb'' terminals it suppresses
                    the screen switch messages

          -n        Selects the number of serial multiscreens  desired
                    up to the maximum defined for the terminal type.

          -t        Disables the  transparent  tty  checking.  mscreen
                    normally  exits  silently  if  the terminal device
                    name starts with the characters  ``ttyp''.  Device
                    names  beginning  with  ``ttyp'' are used as slave
                    devices for mscreen. The  correct  names  for  the
                    master tty devices begin with ``ptyp''.

          mscreen  can  be  used  on  both  ``smart''   and   ``dumb''
          terminals.   Although  it  is optimized to take advantage of
          smart terminals with screen memory, mscreen  also  works  on
          dumb  terminals,  although  the  screen images are not saved
          during screen changes.  mscreen also supports terminals with
          two  (or  more) serial ports that are connected to different
          computers.

          mscreen is designed to  be  invoked  from  the  .profile  or
          .login  files. Use mscreen in place of the SHELL variable so
          that serial multiscreens can be  automatic  at  login  time.
          The  ``stop'' and ``quit'' keys allow you to logout from all
          screens with a single keystroke.


     Configuration
          mscreen determines the terminal type of the terminal  it  is
          invoked  from  by  examining  the environment variable TERM.
          mscreen  looks  in  /etc/mscreencap  or  in   the   filename
          contained  in the environment variable MSCREENCAP to get the
          capabilities for the terminal type.

          The pseudo terminals assigned to the user are  automatically
          determined at startup by mscreen.  Manual assignment of ttys
          can be accomplished by creating a file in  the  user's  home
          directory called .mscreenrc.

        mscreencap format
          mscreencap  contains  an  entry  for  each   terminal   type
          supported.   An  entry may have several names if the support
          for several terminal types are the same.   Within  an  entry
          are  the  key  mappings  for each potential pseudo terminal.
          Each pseudo terminal has a help key string, an input  string
          (the  sequence  generated  by  the  key  that  selects  this
          screen), and an optional output string (the sequence to send
          to  the  terminal that will cause a page switch).  The input
          and output strings are  in  a  termcap  like  format:   (the
          backslash and caret are special lead in (escape) characters)

            \nnn   an octal number, one to three digits are allowed
            \n     newline
            \r     carriage return
            \t     tab
            \b     backspace
            \f     form feed
            \E     escape (hex 1b octal 33).
            \      enter backslash as a data character
            \^     enter caret as a data character
            \^X    ctrl-X       where       X        can        be:
                   @ABCDEFGHIJKLMNOPQESTUVWXYZ[]^_  effectively the
                   caret can generate hex 01 through hex 1f.

          If a terminal type has no output strings then it is  assumed
          to  be  a dumb terminal that does not have multiple internal
          memory pages.

          There are five special entries that allow the user to define
          keys  to  support  the other functions of mscreen.  They are
          the help key (which prints a list of all of  the  keys  that
          are  currently  available  and their functions), the who key
          (prints the name  of  the  current  screen),  the  stop  key
          (terminates  mscreen  and returns a good (zero) shell return
          code), and quit key (terminates mscreen and  returns  a  bad
          (non-zero)  shell  return  code  and the dummy entry that is
          used for terminals with multiple ports.

          The format is:

          #this is a comment and may only appear between entries
          entryname|alias1|alias1...|aliasn:
            :specialname,helpname,inputstring,pageselectstring:
            :specialname,helpname,inputstring,pageselectstring:
          entryname|alias1|alias1...|aliasn:
            :specialname,helpname,inputstring,pageselectstring:
            :specialname,helpname,inputstring,pageselectstring:

          The specialname is empty for real screen entries.   See  the
          provided /etc/mscreencap for examples.

        .mscreenrc format
          .mscreenrc contains a list of ttynames if the user wants  to
          allocate a fixed set of ttys for use:

          ttyp0
          ttyp1
          ttypn


        Shell return codes and auto login/logout
          mscreen exits with a bad (non-zero) return code if there  is
          an  error or when the ``quit'' key is pressed.  The ``stop''
          key causes mscreen to exit with a good (zero)  return  code.
          This allows users to place mscreen in the .login or .profile
          files. The  .login  or  .profile  files  should  set  up  an
          automatic  logout if the mscreen return code is good (zero).
          The following is a csh sample invocation of  mscreen  for  a
          .login file:

              mscreen -n 4
              if ($status == 0) logout

          The single key logout feature  of  mscreen  works  as  if  a
          normal  logout was entered on each pseudo-terminal. A hangup
          signal is sent to all of the processes  on  all  the  pseudo
          terminals.

        Multiple Port Option
          mscreen provides a dummy entry type. It allows mscreen to be
          placed in an inactive state while the user uses his terminal
          to converse through another (physical) io  port  to  another
          computer.   see  the  provided  /etc/mscreentermmap  for  an
          example.   To  be  used,  you  must  take  the  example  and
          configure it for your needs.

        mscreen Driver
          The mscreen driver is already installed in the  UNIX  kernel
          with  eight  pseudo  terminals  available for use.  You must
          enable a pseudo terminals  to  use  it.   See  the  link-kit
          instructions for relinking the kernel to have more available
          pseudo terminals.


     Notes
          mscreen has a VTIM timeout of 1/5 second for input strings.

          mscreen has a limit of twenty multiscreens per user.

          You should not switch screen pages in mscreen when output is
          occurring  because  if  an escape sequence is cut in half it
          may leave the terminal in an indeterminate state and distort
          the screen image.

          Terminals that save the  cursor  location  for  each  screen
          often do not save states such as insert mode, inverse video,
          and others.  For example, you should not change  screens  if
          you  are  in  insert  mode  in vi, and you should not change
          screens during an inverse video output sequence.

          For inactive screens (screens other than  the  current  one)
          mscreen  saves  the last 2048 characters of data (2K).  Data
          older than this is lost. This limit occasionally results  in
          errors  for programs that require a memory of more data than
          this.  The  user-defined  screen  redraw  key  restores  the
          screen to normal appearance.

          mscreen depends on the pseudo terminal device names starting
          with  ttyp  for  the  slave  devices and ptyp for the master
          devices.  The number of trailing  character  in  the  device
          name is not significant.


     See Also
          multiscreen(M), enable(C), ``Adding  Ports,  Terminals,  and
          Modems'' in the System Administrator's Guide


     Value Added
          mscreen is an extension of AT&T System  V  provided  by  the
          Santa Cruz Operation.


     (printed 2/15/90)                                 MSCREEN(M)
















































































































































































































































































































































































































Typewritten Software • bear@typewritten.org • Edmonds, WA 98026