NAME 
xauth - X authority file utility
SYNOPSIS 
xauth [ -f authfile ] [ -vqib ] [ command arg ... ]
DESCRIPTION 
The xauth program is used to edit and display the authoriza-
tion information used in connecting to the X server. This
program is usually used to extract authorization records
from one machine and merge them in on another (as is the
case when using remote logins or granting access to other
users). Commands (described below) may be entered interac-
tively, on the xauth command line, or in scripts. Note that
this program does not contact the X server. Normally xauth
is not used to create the authority file entry in the first
place; xdm does that.
OPTIONS 
The following options may be used with xauth. They may be
given individually (e.g., -q -i) or may combined (e.g., 
-qi).
-f authfile 
This option specifies the name of the authority file 
to use. By default, xauth will use the file speci- 
fied by the XAUTHORITY environment variable or .Xau- 
thority in the user’s home directory.
-q This option indicates that
xauth should operate 
quietly and not print unsolicited status messages. 
This is the default if an xauth command is is given 
on the command line or if the standard output is not 
directed to a terminal.
-v This option indicates that
xauth should operate ver- 
bosely and print status messages indicating the 
results of various operations (e.g., how many 
records have been read in or written out). This is 
the default if xauth is reading commands from its 
standard input and its standard output is directed 
to a terminal.
-i This option indicates that
xauth should ignore any 
authority file locks. Normally, xauth will refuse 
to read or edit any authority files that have been 
locked by other programs (usually xdm or another 
xauth).
-b This option indicates that
xauth should attempt to 
break any authority file locks before proceeding. 
Use this option only to clean up stale locks.
COMMANDS 
The following commands may be used to manipulate authority
files:
add displayname protocolname
hexkey 
An authorization entry for the indicated display 
using the given protocol and key data is added to 
the authorization file. The data is specified as an 
even-lengthed string of hexadecimal digits, each 
pair representing one octet. The first digit of 
each pair gives the most significant 4 bits of the 
octet, and the second digit of the pair gives the 
least significant 4 bits. For example, a 32 charac- 
ter hexkey would represent a 128-bit value. A pro- 
tocol name consisting of just a single period is 
treated as an abbreviation for MIT-MAGIC-COOKIE-1.
[n]extract filename
displayname... 
Authorization entries for each of the specified 
displays are written to the indicated file. If the 
nextract command is used, the entries are written in 
a numeric format suitable for non-binary transmis- 
sion (such as secure electronic mail). The 
extracted entries can be read back in using the 
merge and nmerge commands. If the filename consists 
of just a single dash, the entries will be written 
to the standard output.
[n]list [displayname...] 
Authorization entries for each of the specified 
displays (or all if no displays are named) are 
printed on the standard output. If the nlist com- 
mand is used, entries will be shown in the numeric 
format used by the nextract command; otherwise, they 
are shown in a textual format. Key data is always 
displayed in the hexadecimal format given in the 
description of the add command.
[n]merge [filename...] 
Authorization entries are read from the specified 
files and are merged into the authorization data- 
base, superceding any matching existing entries. If 
the nmerge command is used, the numeric format given 
in the description of the extract command is used. 
If a filename consists of just a single dash, the 
standard input will be read if it hasn’t been read
before.
remove displayname... 
Authorization entries matching the specified 
displays are removed from the authority file.
source filename 
The specified file is treated as a script containing 
xauth commands to execute. Blank lines and lines 
beginning with a sharp sign (#) are ignored. A sin- 
gle dash may be used to indicate the standard input, 
if it hasn’t already been read.
info Information describing the
authorization file, 
whether or not any changes have been made, and from 
where xauth commands are being read is printed on 
the standard output.
exit If any modifications have
been made, the authority 
file is written out (if allowed), and the program 
exits. An end of file is treated as an implicit 
exit command.
quit The program exits, ignoring
any modifications. This 
may also be accomplished by pressing the interrupt 
character.
help [string] 
A description of all commands that begin with the 
given string (or all commands if no string is given) 
is printed on the standard output.
? A short list of the valid
commands is printed on the 
standard output.
DISPLAY NAMES 
Display names for the add, [n]extract, [n]list, [n]merge,
and remove commands use the same format as the DISPLAY 
environment variable and the common -display command line
argument. Display-specific information (such as the screen
number) is unnecessary and will be ignored. Same-machine
connections (such as local-host sockets, shared memory, and
the Internet Protocol hostname localhost) are referred to as
hostname/unix:displaynumber so that local entries for dif-
ferent machines may be stored in one authority file.
EXAMPLE 
The most common use for xauth is to extract the entry for
the current display, copy it to another machine, and merge
it into the user’s authority file on the remote
machine:
% xauth extract - $DISPLAY | rsh otherhost xauth merge -
ENVIRONMENT 
This xauth program uses the following environment
variables:
XAUTHORITY 
to get the name of the authority file to use if the 
-f option isn’t used.
HOME to get the user’s
home directory if XAUTHORITY isn’t 
defined.
FILES 
$HOME/.Xauthority 
default authority file if XAUTHORITY isn’t
defined.
BUGS 
Users that have unsecure networks should take care to use
encrypted file transfer mechanisms to copy authorization
entries between machines. Similarly, the MIT-MAGIC-COOKIE-1
protocol is not very useful in unsecure environments. Sites
that are interested in additional security may need to use
encrypted authorization mechanisms such as Kerberos.
Spaces are currently not allowed
in the protocol name. 
Quoting could be added for the truly perverse.
AUTHOR 
Jim Fulton, MIT X Consortium