iceauth
Manage X server authorization files
SYNOPSIS
iceauth [-f filename] [-v] [command [arg …]]
PARAMETERS
-f filename
Read/write authority file filename instead of default ~/.ICEauthority.
-v
Enable verbose mode, printing actions performed.
add protocol network-id auth-name [hex-data]
Add entry: network-id is hostname/number; hex-data optional, no 0x prefix.
remove protocol network-id
Remove all matching entries for protocol and network-id.
list
Display all entries in readable format (default if no command).
source filename
Read and execute commands from text file filename.
merge filename
Add non-duplicate entries from filename.
file filename
Set authority file for subsequent commands in batch.
DESCRIPTION
iceauth is a command-line utility for maintaining authorization databases used by the Inter-Client Exchange (ICE) protocol in the X Window System.
ICE allows X clients to communicate directly with each other over the network, independent of the X server, enabling features like session management and drag-and-drop. Authentication is required to secure these connections, stored in binary authority files similar to xauth for X11 display access.
Entries in the authority file consist of a protocol name (e.g., ice), network identifier (hostname or decimal number), authorization name (e.g., MIT-MAGIC-COOKIE-1), and optional hexadecimal authorization data.
The default file is ~/.ICEauthority. iceauth supports listing entries, adding/removing records, sourcing from text files, and merging databases. It is essential for multi-user environments, remote sessions, and ICE-aware applications like window managers or desktop environments.
CAVEATS
Authority data must be exact hex bytes; mismatches cause auth failures. File is binary, not human-editable. Run as correct user for ~/.ICEauthority.
NETWORK ID FORMAT
Hostname (e.g., localhost), FQDN, or decimal (e.g., 1230 for TCP port).
EXAMPLE USAGE
iceauth add ice localhost MIT-MAGIC-COOKIE-1 0102030405060708
iceauth list
iceauth -f /tmp/Xauthority remove ice /tmp/.ICE-unix/1230
HISTORY
Introduced in X11R6 (1994) by X Consortium for ICE protocol support, enhancing client interoperability beyond X server mediation.
SEE ALSO
xauth(1), Xsecurity(7), X(7)


