1XSCOPE(1) General Commands Manual XSCOPE(1)
2
3
4
6 xscope - X Window Protocol Viewer
7
9 xscope [-i<in-port>] [-o<out-port>] [-h<server-host>] [-d<display-num‐
10 ber>] [-f<filename>] [-I] [-S<n>] [-T] [-A] [-a<level>] [-n<server-
11 host>] [-D<level>] [-q] [-r] [-v<level>] [-V] [-t]
12
14 Xscope sits in-between an X11 client and an X11 server and prints the
15 contents of each request, reply, error, or event that is communicated
16 between them. Xscope can decode the core X11 protocol and several ex‐
17 tensions, including BIG-REQUESTS, DAMAGE, LBX, MIT-SHM, NCD-WinCenter‐
18 Pro, RANDR, and RENDER. This information can be useful in debugging
19 and performance tuning of X11 servers and clients.
20
21 To operate, xscope must know the host, port, and display to use to con‐
22 nect to the X11 server. In addition, it must know the port on which it
23 should listen for X11 clients. Two cases are common:
24
25 (1) The X11 server is on the same host as xscope.
26 In this case, the input port for xscope should be selected as an
27 X11 server on a different display, and the client DISPLAY argument
28 adjusted to select xscope . For example, if the X11 server is on
29 port 6001, display 1, then xscope can use port 6002 as its input
30 port. The client can use display 1 for direct access to X11 or
31 display 2 for access to xscope.
32
33 (2) The X11 server is on a different host than xscope.
34 In this case the same input and output ports can be used, and the
35 host component of the DISPLAY is used to select xscope or X11.
36
38 -i<in-port>
39 Specify the port that xscope will use to take requests from
40 clients (defaults to 1). For X11, this port is automatically
41 biased by 6000.
42
43 -o<output-port>
44 Determines the port that xscope will use to connect to X11
45 (defaults to 0). For X11, this port is automatically biased
46 by 6000.
47
48 -h<host> Determines the host that xscope will use to find its X11
49 server.
50
51 -d<display-number>
52 Defines the display number. The display number is added to
53 the input and output port to give the actual ports which are
54 used by xscope.
55
56 -f<filename>
57 Instead of decoding a live session, reads previously captured
58 raw data from a file to decode.
59
60 -I Enter interactive mode at startup.
61
62 -S<n> Toggle output on or off when SIGUSR1 is received. If n is 0,
63 the initial state is off. If n is 1, the initial state is
64 on.
65
66 -T Transpose some output with an offset of 0x20.
67
68 -A Enables tracing of the Network Audio System (NAS) protocol as
69 well, using a port number derived by adding 2000 to the X11
70 port number.
71
72 -a<level> NAS verbose output level (1 to 4, 1 by default).
73
74 -n<server-host>
75 Set the hostname of the NAS server to connect to.
76
77 -D<level> Print debugging information at the specified level (255 by
78 default) :
79
80 - 2, Trace each procedure entry
81
82 - 4, I/O, connections
83
84 - 8, Scope internals
85
86 - 16, Message protocol
87
88 - 32 to 64, Was malloc, now unused
89
90 - 128 to 256, Really low level
91
92 -q Quiet output mode. Gives only the names of requests,
93 replies, errors, and events, but does not indicate contents.
94
95 -r Print only raw data without decoding it.
96
97 -v<level> Determines the level of printing which xscope will provide.
98 The level can be 0 (same as quiet mode), 1 (default), 2, 3,
99 4, 5. The larger numbers give more and more output. For ex‐
100 ample, a successful setup returns a string which is the name
101 of the vendor of the X11 server. At level 1, the explicit
102 field giving the length of the string is suppressed since it
103 can be inferred from the string. At level 2 and above the
104 length is explicitly printed.
105
106 -V Print version information and exit.
107
108 -t Terminate xscope when all clients close.
109
111 When xscope receives an interrupt signal (normally generated by Con‐
112 trol-C) or is started with the -I flag, it enters an interactive mode
113 in which it prompts for commands. Available commands in this mode are:
114
115 audio, a Show current verbosity level for NAS protocol packets.
116
117 audio n, a n
118 Set current verbosity level for NAS protocol packets to n.
119
120 break, b List currently defined breakpoints.
121
122 break request..., b request...
123 Create a breakpoint for the specified protocol requests. The
124 breakpoint will be enabled by default. When the breakpoint
125 is enabled, xscope will stop for interactive commands after
126 processing a request of the specified type. Requests and
127 extensions may be specified by name or number. If an exten‐
128 sion is followed by a ":" and a number, it will only break
129 for the specified minor opcode for that extension. Note
130 that since extension opcodes are not known until the exten‐
131 sion is first seen, breakpoints cannot currently be set on
132 extensions until after a QueryExtension request and reply are
133 processed for that extension, so users may need to initially
134 set a breakpoint on QueryExtension, and after processing that
135 set the breakpoint for the target extension.
136
137 cont, c Resume processing of data passing between server and clients.
138
139 delete, del
140 Delete all breakpoints.
141
142 delete breakpoint..., del breakpoint...
143 Delete listed breakpoints, specified by number.
144
145 disable, d
146 Disable all breakpoints.
147
148 disable breakpoint..., d breakpoint...
149 Disable listed breakpoints, specified by number.
150
151 enable, e Enable all breakpoints.
152
153 enable breakpoint..., e breakpoint...
154 Enable listed breakpoints, specified by number.
155
156 help, ? Print list of available commands.
157
158 help command..., ? command...
159 Describe specified command or commands.
160
161 level, l Show current verbosity level for X11 protocol packets.
162
163 level n, l n
164 Set current verbosity level for X11 protocol packets to n.
165
166 quit, q Quit xscope.
167
168 step, s Process one request, then prompt for another command.
169
171 xscope -v4 -hcleo -d0 -o0 -i1
172
173 This command would have xscope communicate with an X11 server on host
174 ``cleo'', display 0; xscope itself would be available on the current
175 host as display 1 (display of 0 plus the 1 of -i1). Verbose level 4.
176
177 xscope -q -d1 -o1 -o3
178
179 The X11 server for the current host, display 2 (1 for -d1 plus 1 for
180 -o1) would be used by xscope which would run as display 4 (1 for -d1
181 plus 3 for -o3). Quiet mode (verbose level 0).
182
184 X(7), Xsecurity(7), X11 Protocol and extension protocol documents
185
187 James L. Peterson (MCC)
188
189 Copyright (C) 1988 MCC
190
191 Permission to use, copy, modify, distribute, and sell this software and
192 its documentation for any purpose is hereby granted without fee, pro‐
193 vided that the above copyright notice appear in all copies and that
194 both that copyright notice and this permission notice appear in sup‐
195 porting documentation, and that the name of MCC not be used in adver‐
196 tising or publicity pertaining to distribution of the software without
197 specific, written prior permission. MCC makes no representations about
198 the suitability of this software for any purpose. It is provided "as
199 is" without express or implied warranty.
200
201 MCC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
202 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT
203 SHALL MCC BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES
204 OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
205 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
206 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
207 SOFTWARE.
208
209
210
211
212X Version 11 xscope 1.4.4 XSCOPE(1)