xkibitz(1)
XKIBITZ(1) USER COMMANDS 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:
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 pro-
gress.
o People can team up on games, document editing, or
other cooperative tasks where each person has
strengths and weaknesses that complement one
another.
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.
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
Last change: 06 October 1994 1
XKIBITZ(1) USER COMMANDS XKIBITZ(1)
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 xki-
bitz 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-
mand:
xkibitz sleep 1000000
ARGUMENTS
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
whitespace.
-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 xki-
bitz with three additional displays:
xkibitz -display mercury -display fox -display dra-
gon: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
Last change: 06 October 1994 2
XKIBITZ(1) 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.
ENVIRONMENT
The environment variable SHELL is used to determine and
start a shell, if no other program is given on the command
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 excep-
tion of -display, -geometry and -S as those are set by xki-
bitz.
SEE ALSO
Tcl(3), libexpect(3) kibitz(1)
"Exploring Expect: A Tcl-Based Toolkit for Automating
Interactive Programs" by Don Libes, O'Reilly and Associates,
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
Last change: 06 October 1994 3
Man(1) output converted with
man2html