XSCOPE(1)

NAME
xscope - X Window Protocol Viewer

SYNOPSIS
xscope [ option ] ...

DESCRIPTION
Xscope sits in-between an X11 client and an X11 server and prints the contents of each request, reply, error, or event that is communicated between them. This information can be useful in debugging and performance tuning of X11 servers and clients.

To operate, xscope must know the host, port, and display to use to connect to the X11 server. In addition, it must know the port on which it should listen for X11 clients. Two cases are common:

(1) The X11 server is on the same host as xscope.
    In this case, the input port for xscope should be selected as an X11 server on a different display, and the client DISPLAY argument adjusted to select xscope . For example, if the X11 server is on port 6000, display 1, then xscope can use port 6002 as its input port. The client can use display 1 for direct access to X11 or display 2 for access to xscope.

(2) The X11 server is on a different host than xscope.
    In this case the same input and output ports can be used, and the host component of the DISPLAY is used to select xscope or X11.

ARGUMENTS

-i<input-port>
    Specify the port that xscope will use to take requests from clients (defaults to 1). For X11, this port is automatically biased by 6000.

-o<output-port>
    Determines the port that xscope will use to connect to X11 (defaults to 0). For X11, this port is automatically biased by 6000.

-h<host>
    Determines the host that xscope will use to find its X11 server.

-d<display>
    Defines the display number. The display number is added to the input and output port to give the actual ports which are used by xscope.

-q  Quiet output mode. Gives only the names of requests, replies, errors, and events, but does not indicate contents.

-v<print-level>
    Determines the level of printing which xscope will provide. The print-level can be 0 (same as quiet mode), 1, 2, 3, 4. The larger numbers give more and more output. For example, a successful setup returns a string which is the name of the vendor of the X11 server. At level 1, the explicit field giving the length of the string is suppressed since it can be inferred from the string. At level 2 and above the length is explicitly printed.

EXAMPLES

xscope -v4 -hcleo -d0 -o0 -i1

This command would have xscope communicate with an X11 server on host ``cleo'', display 0; xscope itself would be available on the current host as display 1 (display of 0 plus the 1 of -i1). Verbose level 4.

xscope -q -d1 -o1 -o3

The X11 server for the current host, display 2 (1 for -d1 plus 1 for -o1) would be used by xscope which would run as display 4 (1 for -d1 plus 3 for -o3). Quite mode (verbose level 0).

NOTES

Xscope only listens on the TCP/IP port, the default display connection (for example :1.0) uses UNIX domain sockets, so will not work with xscope. You must therefore include the host name in the DISPLAY environment variable. The more advanced server authorization schemes use the display name in the authorization, since xscope masquerades as a different server the authorization information will normally be wrong. To work round this either use xhost(1) to allow any connections from the clients host, or use xauth(1) to set up the required authorization.

SEE ALSO
X(1), X11 Protocol document (doc/Protocol/X11.protocol)

AUTHOR

James L. Peterson (MCC)

Copyright 1988, MCC

BUGS
Code has only been tested on Sun3's.