NAME
xtrace - trace communication between X11 client and server
SYNOPSIS
xtrace [ options ] [ -s | -k ] [ [ -W ] [ -- ] command args ... ]
DESCRIPTION
Xtrace fakes an X server and forwards all connections to a real X
server, displaying the communication between clients in (well,
theoretically) human readable form. If a command is given, xtrace
executes the named command with $DISPLAY set to the faked X server. If
that command exits before any connections are made, xtrace exits
immediately unless -W is specified.
OPTIONS
-I directory
Look into directory for protocol description files. (i.e. the
directory where the .proto files can be found).
-s | --stopwhendone (default)
Terminate when all forwarded clients have disconnected. (Or
when a program was run once the program has finished and all
connections are closed).
-k | --keeprunning
If all clients disconnected, wait for new ones to connect.
-W | --waitforclient
Do not stop when the started program terminates before any
connection was made. (Might be necessary if the program forks
to background).
-d name | --display name
Forward connections to the X server specified by name instead of
the one specified by the environment variable DISPLAY.
-D name | --fakedisplay name
Fake display name instead of $FAKEDISPLAY or :9 respectively.
-f filename | --authfile filename
Add an -f filename to the arguments for all calls to xauth to
get the authentication tokens of the X server to connect to.
-F filename | --newauthfile filename
Add an -f filename to the arguments for all calls to xauth to
save the authentication tokens to connect to the faked X server.
-c | --copyauthentication (default)
Copy the authentication tokens for the X server to connect to so
that clients connecting to our fake server will use them.
The commands run are roughly equivalent to: xauth add
$FAKEDISPLAY . ‘xauth list $DISPLAY | awk ’$2=="MIT-MAGIC-
COOKIE-1" {print $3}’‘
Not that only MIT-MAGIC-COOKIE-1 tokens are copied as xtrace
does not yet support to change the authentication tokens so that
XDM-AUTHORIZATION-1 would be possible.
-n | --nocopyauthentication
Do not call xauth and do fiddle with authentication tokens but
leave that to the user to handle.
-e | --denyextensions
Modify all server replies to say there are no extensions
available. (As xtrace does supports only a small number of
extensions anyway and calls all extended requests "unknown" and
all replies to such requests "unexpected").
-w | --readwritedebug
Print how many bytes are read and/or written when.
-m count | --maxklistlength count
Print only the first count many elements of all lists.
-i | --interactive
Only sent requests from the client to the server after
interactive confirmation. Confirmation is given by pressing
enter or a number followed by enter via stdin. This can give
funny results when multiple clients are tunneled.
-o | --outfile filename
Dump output into filename instead of stdout.
-b | --buffered
Do not write every line on its own but wait until buffers are
full. Speeds up things a little bit when outputting to a file.
Not very useful at all together with -i.
--timestamps
Print a timestamp before each line. Print a timestamp relative
to the beginning of the connection before each line.
Note that the time a packet is printed is between the time a
packet is received and the time a packet is sent, but it gives
no other information than that.
--relative-timestamps
Print a timestamp relative to the beginning of the connection
before each line.
Note that the time a packet is printed is between the time a
packet is received and the time a packet is sent, but it gives
no other information than that.
--print-offsets
Print offsets of all fields (useful to debug nested lists in
protocol descriptions)
--print-counts
Print counts (useful to debug lists in protocol descriptions)
ENVIRONMENT VARIABLES
DISPLAY
Without --display the content of this variable is used to
determine the server to connect to. (And without -n given to
xauth to get the authentication tokens for this display.)
FAKEDISPLAY
Without --fakedisplay the content of this variable is used to
determine how to listen for clients. (And without -n given to
xauth to set the authentication tokens for this display.) If
neither is given, xtrace will try :9
XAUTHORITY
Without -n and without -f or -F your xauth program will most
likely look into this variable for the file to get/save the
authentication tokens from/into. If this is not set it will most
likely use $HOME/.Xauthority.
REPORTING BUGS
Report bugs to <brlink@debian.org> or the Debian BTS.
SEE ALSO
xauth(1), x(7x),
COPYRIGHT
Copyright © 2005 Bernhard R. Link
This is free software; see the source for copying conditions. There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.