Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mscreen(M) — Xenix 2.3.4g

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

multiscreen(M)

enable(C)



     MSCREEN(M)               XENIX System V                MSCREEN(M)



     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



     Page 1                                           (printed 2/7/91)





     MSCREEN(M)               XENIX System V                MSCREEN(M)



          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:



     Page 2                                           (printed 2/7/91)





     MSCREEN(M)               XENIX System V                MSCREEN(M)



          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/mscreencap 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
           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



     Page 3                                           (printed 2/7/91)





     MSCREEN(M)               XENIX System V                MSCREEN(M)



          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 application-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)
































     Page 4                                           (printed 2/7/91)



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