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.
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.
- --monotonic-timestamps
- Print a CLOCK_MONOTONIC (see clock_gettime(3))
timestamp each time a package is printed. This is likely to be the uptime
of your system.
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.