Provided by: xtrace_1.4.0-1_amd64 bug

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 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.