• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

CHANGESH A D13-Apr-1994106 74

MakefileH A D03-May-20221.4 KiB5341

READMEH A D13-Apr-19945.7 KiB138107

bufio.cH A D03-May-202213.2 KiB510330

connect.cH A D13-Apr-199418.9 KiB564391

error.cH A D03-May-20222.1 KiB8550

genreq.cH A D13-Apr-19948.3 KiB339214

lab.psH A D13-Apr-199455 KiB

main.cH A D13-Apr-199422.3 KiB736611

make_meH A D13-Apr-1994217 1410

map.cH A D13-Apr-199413.4 KiB522315

pointer.cH A D13-Apr-19943.8 KiB13777

reply.cH A D13-Apr-199436.2 KiB1,0911,013

request.cH A D13-Apr-199440.2 KiB1,3151,183

resource.cH A D13-Apr-199422.6 KiB786592

resource.hH A D13-Apr-19942.3 KiB6638

socket.cH A D13-Apr-19946.2 KiB215139

xmx.1H A D13-Apr-19942.8 KiB7271

xmx.hH A D03-May-20225.2 KiB218139

README

1
2                                    X M X
3                          An X Protocol Multiplexor
4
5                                 Version 1.1
6-------------------------------------------------------------------------
7OVERVIEW
8
9XMX is an X protocol multiplexor.  It is a standalone utility for displaying
10an X Windows session on multiple displays.  XMX takes advantage of the
11networked nature of the X Window System by tapping the communication link
12between an X client and an X server.  In this way, XMX works with any
13X clients and any X servers, without the need to modify either.
14
15It's tempting to call this "broadcast software," and that is certainly the
16effect.  In reality, though, XMX is "multicast" software.  It must know
17all the slave machines ahead of time and it connects to each one directly.
18XMX is more like mail than news.
19
20XMX connects to N servers like an X client, then accepts connections from
21M clients like an X server.  One of those servers is designated the "master"
22from which input is directed to the clients.  The other servers are "slaves."
23Slave servers receive only those protocol requests that are necessary for
24them to maintain a visual look-alike of the master server's display.
25
26This software was developed at Brown University for use in our electronic
27classroom.  Some version of it has been in use here since 1988.
28-------------------------------------------------------------------------
29COPYING IT
30
31The Computer Science Department at Brown University distributes XMX
32under the following Copyright:
33
34	Copyright 1988, 1989, 1990, Brown University, Providence, RI.
35	Permission to use, copy, modify and distribute this software and
36	its documentation for any purpose other than its incorporation into
37	a commercial product, is hereby granted, provided that this
38	copyright notice appears on all copies and the distribution is only
39	within the organization represented by the person receiving the
40	software from Brown.  Brown requests notification of any
41	important modifications to this software or its documentation.
42
43Please note that we explicity prohibit you from distributing this
44outside of your organization.  Tell them to get it from us.
45-------------------------------------------------------------------------
46CAVEAT
47
48This is a preliminary distribution.  XMX has many known limitations and
49a few bugs.  It is being actively developed and your input is solicited.
50So, too, is your patience.
51-------------------------------------------------------------------------
52BUILDING IT
53
54XMX does not rely on Xlib or any other lib for that matter.  It does
55require certain X11 include files (X.h, Xproto.h, Xlib.h, Xatom.h, Xutil.h).
56If you have these files installed in /usr/include/X11, then all you
57need to do is run "make_me" (make_me just checks what system you are on,
58and then runs make).
59
60If you keep these include files somewhere else, you'll need to add a -I
61switch to CFLAGS in the Makefile.
62
63XMX has been compiled and tested on various sun4's and on a dec 3100.
64-------------------------------------------------------------------------
65USING IT
66
67Since XMX is not itself an X server, it expects to connect to X servers
68that are already running.  These servers must be willing to accept
69client connections from whatever machine XMX is running on (see xhost(1)).
70
71Since examples are easier to understand than lengthy explanations, here's
72an example.  Assume X servers are running on machines named larry, moe and
73curly:
74
75	abbott% xmx :1 -p -display moe larry curly
76	XMX Version 1.1, ready.
77
78Now XMX is running on abbott, accepting connections via display abbott:1,
79(socket 6001), displaying on moe, larry and curly, but only taking input
80from moe.  Moe is the master server.  We could have said moe:0, but XMX
81relaxes this convention and assumes you mean display zero if you don't
82specify.  The -p option tells XMX to echo pointer movements to the slaves.
83
84	costello% setenv DISPLAY abbott:1
85	costello% xterm&
86
87Setting the DISPLAY environment variable causes any X clients run in
88this shell to connect to XMX.  The xterm we ran here appears on larry,
89curly and moe via XMX.  What's more, since xterm inherited the environment
90variable from the shell, anything typed at it will also be multicast.
91
92Included with this distribution is the document "Running an XMX
93Broadcast Session in the Sun Lab" (./lab.ps).  This is the guide that
94we distribute to TA's at Brown who are responsible for running their
95class' demos.  It is very site-specific, but contains some helpful
96information.
97
98The rx utility has been removed from this distribution.  In it's place
99is the simple program xnull, which contains instructions for use.  An
100improved (and portable) rx will be distributed with XMX version 2, when
101it appears.  If you really want the old one, contact the author, below.
102-------------------------------------------------------------------------
103BUGS AND LIMITATIONS
104
105Protocol extensions not supported.
106
107XMX will list extensions it does not support in reply to XListExtensions
108request.
109
110Doesn't do decnet.
111
112Servers must be "clean" at xmx startup:
113	Must have identical sets of allocated Atoms.
114	Must have empty default root colormaps.
115	Window managers may break if master has preexisting resources
116		not present on slaves.
117
118Doesn't accept the null string for a hostname.  Use "unix" instead.
119-------------------------------------------------------------------------
120COMING SOON
121
122This is absolutely, positively the last release of version 1.
123
124Xmx Version 2, available separately (soon), supercedes this version in
125every way.
126-------------------------------------------------------------------------
127XMX was written by
128
129John Bazik
130Dept. of Computer Science, Box 1910
131Brown University
132Providence, RI  02912
133
134(401) 863-7600
135jsb@cs.brown.edu
136uunet!brunix!jsb
137jsb@browncs.bitnet
138