1XKIBITZ(1) General Commands Manual XKIBITZ(1)
2
3
4
6 xkibitz - allow multiple people to interact in an xterm
7
9 xkibitz [ xkibitz-args ] [ program program-args... ]
10
12 xkibitz allows users in separate xterms to share one shell (or any pro‐
13 gram that runs in an xterm). Uses include:
14
15 · A novice user can ask an expert user for help. Using xkib‐
16 itz, the expert can see what the user is doing, and offer
17 advice or show how to do it right.
18
19 · By running xkibitz and then starting a full-screen editor,
20 people may carry out a conversation, retaining the ability
21 to scroll backwards, save the entire conversation, or even
22 edit it while in progress.
23
24 · People can team up on games, document editing, or other
25 cooperative tasks where each person has strengths and weak‐
26 nesses that complement one another.
27
28 · If you want to have a large number of people do an on-line
29 code walk-through, you can sit two in front of each worksta‐
30 tion, and then connect them all together while you everyone
31 looks at code together in the editor.
32
34 To start xkibitz, one user (the master) runs xkibitz with no arguments.
35
36 xkibitz starts a new shell (or another program, if given on the command
37 line). The user can interact normally with the shell, or upon entering
38 an escape (described when xkibitz starts) can add users to the interac‐
39 tion.
40
41 To add users, enter "+ display" where display is the X display name.
42 If there is no ":X.Y" in the display name, ":0.0" is assumed. The mas‐
43 ter user must have permission to access each display. Each display is
44 assigned a tag - a small integer which can be used to reference the
45 display.
46
47 To show the current tags and displays, enter "=".
48
49 To drop a display, enter "- tag" where tag is the display's tag accord‐
50 ing to the "=" command.
51
52 To return to the shared shell, enter "return". Then the keystrokes of
53 all users become the input of the shell. Similarly, all users receive
54 the output from the shell.
55
56 To terminate xkibitz it suffices to terminate the shell itself. For
57 example, if any user types ^D (and the shell accepts this to be EOF),
58 the shell terminates followed by xkibitz.
59
60 Normally, all characters are passed uninterpreted. However, in the
61 escape dialogue the user talks directly to the xkibitz interpreter.
62 Any Expect(1) or Tcl(3) commands may also be given. Also, job control
63 may be used while in the interpreter, to, for example, suspend or
64 restart xkibitz.
65
66 Various processes can produce various effects. For example, you can
67 emulate a multi-way write(1) session with the command:
68
69 xkibitz sleep 1000000
70
72 xkibitz understands a few special arguments which should appear before
73 the program name (if given). Each argument should be separated by
74 whitespace. If the arguments themselves takes arguments, these should
75 also be separated by whitespace.
76
77 -escape sets the escape character. The default escape character is ^].
78
79 -display adds a display much like the "+" command. Multiple -display
80 flags can be given. For example, to start up xkibitz with three addi‐
81 tional displays:
82
83 xkibitz -display mercury -display fox -display dragon:1.0
84
85
87 Due to limitations in both X and UNIX, resize propagation is weak.
88
89 When the master user resizes the xterm, all the other xterms are logi‐
90 cally resized. Unfortunately, xkibitz cannot force the physical xterm
91 size to correspond with the logical xterm sizes.
92
93 The other users are free to resize their xterm but their sizes are not
94 propagated. The master can check the logical sizes with the "=" com‐
95 mand.
96
97 Deducing the window size is a non-portable operation. The code is
98 known to work for recent versions of SunOS, AIX, Unicos, and HPUX.
99 Send back mods if you add support for anything else.
100
102 The environment variable SHELL is used to determine and start a shell,
103 if no other program is given on the command line.
104
105 If the environment variable DISPLAY is defined, its value is used for
106 the display name of the xkibitz master (the display with tag number 0).
107 Otherwise this name remains empty.
108
109 Additional arguments may be passed to new xterms through the environ‐
110 ment variable XKIBITZ_XTERM_ARGS. For example, to create xterms with a
111 scrollbar and a green pointer cursor:
112
113 XKIBITZ_XTERM_ARGS="-sb -ms green"
114 export XKIBITZ_XTERM_ARGS
115
116 (this is for the Bourne shell - use whatever syntax is appropriate for
117 your favorite shell). Any option can be given that is valid for the
118 xterm command, with the exception of -display, -geometry and -S as
119 those are set by xkibitz.
120
122 Tcl(3), libexpect(3) kibitz(1)
123 "Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Pro‐
124 grams" by Don Libes, O'Reilly and Associates, January 1995.
125 "kibitz - Connecting Multiple Interactive Programs Together", by Don
126 Libes, Software - Practice & Experience, John Wiley & Sons, West Sus‐
127 sex, England, Vol. 23, No. 5, May, 1993.
128
130 Don Libes, National Institute of Standards and Technology
131
132
133
134 06 October 1994 XKIBITZ(1)