Man Pages

xkibitz(1) - phpMan xkibitz(1) - phpMan

Command: man perldoc info search(apropos)  


XKIBITZ(1)                                                          XKIBITZ(1)



NAME
       xkibitz - allow multiple people to interact in an xterm

SYNOPSIS
       xkibitz [ xkibitz-args ] [ program program-args...  ]

INTRODUCTION
       xkibitz  allows  users  in  separate  xterms  to  share one shell (or any program that runs in an xterm).  Uses
       include:

              ?   A novice user can ask an expert user for help.  Using xkibitz, the expert can see what the  user  is
                  doing, and offer advice or show how to do it right.

              ?   By  running  xkibitz  and  then  starting a full-screen editor, people may carry out a conversation,
                  retaining the ability to scroll backwards, save the entire conversation, or even edit  it  while  in
                  progress.

              ?   People  can  team  up  on  games, document editing, or other cooperative tasks where each person has
                  strengths and weaknesses that complement one another.

              ?   If you want to have a large number of people do an on-line code walk-through, you  can  sit  two  in
                  front  of  each  workstation,  and  then  connect them all together while you everyone looks at code
                  together in the editor.

USAGE
       To start xkibitz, one user (the master) runs xkibitz with no arguments.

       xkibitz starts a new shell (or another program, if given on the command line).  The user can interact  normally
       with the shell, or upon entering an escape (described when xkibitz starts) can add users to the interaction.

       To  add  users,  enter  "+  display" where display is the X display name.  If there is no ":X.Y" in the display
       name, ":0.0" is assumed.  The master user must have  permission  to  access  each  display.   Each  display  is
       assigned a tag - a small integer which can be used to reference the display.

       To show the current tags and displays, enter "=".

       To drop a display, enter "- tag" where tag is the display's tag according to the "=" command.

       To return to the shared shell, enter "return".  Then the keystrokes of all users become the input of the shell.
       Similarly, all users receive the output from the shell.

       To terminate xkibitz it suffices to terminate the shell itself.  For example, if any user  types  ^D  (and  the
       shell accepts this to be EOF), the shell terminates followed by xkibitz.

       Normally,  all characters are passed uninterpreted.  However, in the escape dialogue the user talks directly to
       the xkibitz interpreter.  Any Expect(1) or Tcl(3) commands may also be given.  Also, job control  may  be  used
       while in the interpreter, to, for example, suspend or restart xkibitz.

       Various  processes can produce various effects.  For example, you can emulate a multi-way write(1) session with
       the command:

            xkibitz sleep 1000000


ARGUMENTS
       xkibitz understands a few special arguments which should appear before the program name (if given).  Each argu-
       ment should be separated by whitespace.  If the arguments themselves takes arguments, these should also be sep-
       arated by whitespace.

       -escape sets the escape character.  The default escape character is ^].

       -display adds a display much like the "+" command.  Multiple -display flags can  be  given.   For  example,  to
       start up xkibitz with three additional displays:

            xkibitz -display mercury -display fox -display dragon:1.0


CAVEATS
       Due to limitations in both X and UNIX, resize propagation is weak.

       When  the  master  user  resizes the xterm, all the other xterms are logically resized.  Unfortunately, xkibitz
       cannot force the physical xterm size to correspond with the logical xterm sizes.

       The other users are free to resize their xterm but their sizes are not propagated.  The master  can  check  the
       logical sizes with the "=" command.

       Deducing  the window size is a non-portable operation.  The code is known to work for recent versions of SunOS,
       AIX, Unicos, and HPUX.  Send back mods if you add support for anything else.

ENVIRONMENT
       The environment variable SHELL is used to determine and start a shell, if no other program is given on the com-
       mand line.

       If  the  environment  variable DISPLAY is defined, its value is used for the display name of the xkibitz master
       (the display with tag number 0). Otherwise this name remains empty.

       Additional arguments may be passed to new xterms through  the  environment  variable  XKIBITZ_XTERM_ARGS.   For
       example, to create xterms with a scrollbar and a green pointer cursor:

            XKIBITZ_XTERM_ARGS="-sb -ms green"
            export XKIBITZ_XTERM_ARGS

       (this  is for the Bourne shell - use whatever syntax is appropriate for your favorite shell). Any option can be
       given that is valid for the xterm command, with the exception of -display, -geometry and -S as those are set by
       xkibitz.

SEE ALSO
       Tcl(3), libexpect(3) kibitz(1)
       "Exploring  Expect:  A  Tcl-Based Toolkit for Automating Interactive Programs" by Don Libes, O'Reilly and Asso-
       ciates, January 1995.
       "kibitz - Connecting Multiple Interactive Programs Together", by Don Libes, Software - Practice  &  Experience,
       John Wiley & Sons, West Sussex, England, Vol. 23, No. 5, May, 1993.

AUTHOR
       Don Libes, National Institute of Standards and Technology



                                06 October 1994                     XKIBITZ(1)