man pages section 1: User Commands

Exit Print View

Updated: July 2014

xkibitz (1)


xkibitz - allow multiple people to interact in an xterm


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


User Commands                                          XKIBITZ(1)

     xkibitz - allow multiple people to interact in an xterm

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

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

          o   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.

          o   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

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

          o   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.

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

     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  dis-
     play  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

SunOS 5.11         Last change: 06 October 1994                 1

User Commands                                          XKIBITZ(1)

     keystrokes of all users become the input of the shell.  Sim-
     ilarly, 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

     Normally, all characters are passed uninterpreted.  However,
     in  the escape dialogue the user talks directly to the xkib-
     itz interpreter.  Any Expect(1) or Tcl(3) commands may  also
     be given.  Also, job control may be used while in the inter-
     preter, 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 com-

          xkibitz sleep 1000000

     xkibitz understands a few  special  arguments  which  should
     appear  before  the  program name (if given).  Each argument
     should be separated by whitespace.  If the  arguments  them-
     selves  takes  arguments,  these should also be separated by

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

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

          xkibitz   -display   mercury   -display   fox  -display

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

     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

     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

SunOS 5.11         Last change: 06 October 1994                 2

User Commands                                          XKIBITZ(1)

     code  is  known  to  work for recent versions of SunOS, AIX,
     Unicos, and HPUX.  Send back mods if  you  add  support  for
     anything else.

     The  environment  variable  SHELL  is  used to determine and
     start a shell, if no other program is given on  the  command

     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 excep-
     tion of -display, -geometry and -S as those are set by xkib-

     See   attributes(5)   for   descriptions  of  the  following

     |Availability   | shell/expect     |
     |Stability      | Uncommitted      |
     Tcl(3), libexpect(3) kibitz(1)
     "Exploring Expect: A Tcl-Based Toolkit for Automating Inter-
     active Programs" by Don Libes, O'Reilly and Associates, Jan-
     uary 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.

     Don Libes, National Institute of Standards and Technology

SunOS 5.11         Last change: 06 October 1994                 3

User Commands                                          XKIBITZ(1)

     This   software   was   built   from   source  available  at   The   original
     community   source   was   downloaded  from   http://source-

     Further  information about this software can be found on the
     open source community website at

SunOS 5.11         Last change: 06 October 1994                 4