XKIBITZ



XKIBITZ

NAME
SYNOPSIS
INTRODUCTION
USAGE
ARGUMENTS
CAVEATS
ENVIRONMENT
SEE ALSO
AUTHOR

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 argument should be separated by whitespace. If the arguments themselves takes arguments, these should also be separated 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 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 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 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






Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.