Provided by: xtrace_1.3.1-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 <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.