xrdb - X server resource database utility
xrdb [-option ...] [filename]
Xrdb is used to get or set the contents of the RESOURCE_MANAGER prop-
erty on the root window of screen 0, or the SCREEN_RESOURCES property
on the root window of any or all screens, or everything combined. You
would normally run this program from your X startup file.
Most X clients use the RESOURCE_MANAGER and SCREEN_RESOURCES properties
to get user preferences about color, fonts, and so on for applications.
Having this information in the server (where it is available to all
clients) instead of on disk, solves the problem in previous versions of
X that required you to maintain defaults files on every machine that
you might use. It also allows for dynamic changing of defaults without
The RESOURCE_MANAGER property is used for resources that apply to all
screens of the display. The SCREEN_RESOURCES property on each screen
specifies additional (or overriding) resources to be used for that
screen. (When there is only one screen, SCREEN_RESOURCES is normally
not used, all resources are just placed in the RESOURCE_MANAGER prop-
The file specified by filename (or the contents from standard input if
- or no filename is given) is optionally passed through the C prepro-
cessor with the following symbols defined, based on the capabilities of
the server being used:
the hostname portion of the display to which you are connected.
the SERVERHOST hostname string turned into a legal identifier.
For example, "my-dpy.lcs.mit.edu" becomes
the same as SERVERHOST.
the number of the display on the server host.
the name of the host on which xrdb is running.
the CLIENTHOST hostname string turned into a legal identifier.
For example, "expo.lcs.mit.edu" becomes CLNT_expo_lcs_mit_edu.
the vendor release number for the server. The interpretation
of this number will vary depending on VENDOR.
the X protocol minor version supported by this server (cur-
the X protocol major version supported by this server (should
always be 11).
a string literal specifying the vendor of the server.
the VENDOR name string turned into a legal identifier. For
example, "MIT X Consortium" becomes VNDR_MIT_X_Consortium.
A symbol is defined for each protocol extension supported by
the server. Each extension string name is turned into a legal
identifier. For example, "X3D-PEX" becomes EXT_X3D_PEX.
the total number of screens.
the number of the current screen (from zero).
the number of significant bits in an RGB color specification.
This is the log base 2 of the number of distinct shades of each
primary that the hardware can generate. Note that it usually
is not related to PLANES.
one of StaticGray, GrayScale, StaticColor, PseudoColor, True-
Color, DirectColor. This is the visual class of the root win-
the visual class of the root window in a form you can #ifdef
on. The value is the numeric id of the visual.
COLOR defined only if CLASS is one of StaticColor, PseudoColor, True-
Color, or DirectColor.
A symbol is defined for each visual supported for the screen.
The symbol includes the class of the visual and its depth; the
value is the numeric id of the visual. (If more than one
visual has the same class and depth, the numeric id of the
first one reported by the server is used.)
the height of the root window in pixels.
the width of the root window in pixels.
the number of bit planes (the depth) of the root window.
the x resolution of the screen in pixels per meter.
the y resolution of the screen in pixels per meter.
SRVR_name, CLNT_name, VNDR_name, and EXT_name identifiers are formed by
changing all characters other than letters and digits into underscores
Lines that begin with an exclamation mark (!) are ignored and may be
used as comments.
Note that since xrdb can read from standard input, it can be used to
the change the contents of properties directly from a terminal or from
a shell script.
xrdb program accepts the following options:
-help This option (or any unsupported option) will cause a brief
description of the allowable options and parameters to be
This option specifies the X server to be used; see X(7x). It
also specifies the screen to use for the -screen option, and it
specifies the screen from which preprocessor symbols are
derived for the -global option.
-all This option indicates that operation should be performed on the
screen-independent resource property (RESOURCE_MANAGER), as
well as the screen-specific property (SCREEN_RESOURCES) on
every screen of the display. For example, when used in con-
junction with -query, the contents of all properties are out-
put. For -load, -override and -merge, the input file is pro-
cessed once for each screen. The resources which occur in com-
mon in the output for every screen are collected, and these are
applied as the screen-independent resources. The remaining
resources are applied for each individual per-screen property.
This the default mode of operation.
-global This option indicates that the operation should only be per-
formed on the screen-independent RESOURCE_MANAGER property.
-screen This option indicates that the operation should only be per-
formed on the SCREEN_RESOURCES property of the default screen
of the display.
This option indicates that the operation should be performed on
the SCREEN_RESOURCES property of each screen of the display.
For -load, -override and -merge, the input file is processed
for each screen.
-n This option indicates that changes to the specified properties
(when used with -load, -override or -merge) or to the resource
file (when used with -edit) should be shown on the standard
output, but should not be performed.
-quiet This option indicates that warning about duplicate entries
should not be displayed.
This option specifies the pathname of the C preprocessor pro-
gram to be used. Although xrdb was designed to use CPP, any
program that acts as a filter and accepts the -D, -I, and -U
options may be used.
-nocpp This option indicates that xrdb should not run the input file
through a preprocessor before loading it into properties.
This option indicates that the symbols that are defined for the
preprocessor should be printed onto the standard output.
-query This option indicates that the current contents of the speci-
fied properties should be printed onto the standard output.
Note that since preprocessor commands in the input resource
file are part of the input file, not part of the property, they
won’t appear in the output from this option. The -edit option
can be used to merge the contents of properties back into the
input resource file without damaging preprocessor commands.
-load This option indicates that the input should be loaded as the
new value of the specified properties, replacing whatever was
there (i.e. the old contents are removed). This is the
This option indicates that the input should be added to,
instead of replacing, the current contents of the specified
properties. New entries override previous entries.
-merge This option indicates that the input should be merged and lexi-
cographically sorted with, instead of replacing, the current
contents of the specified properties.
-remove This option indicates that the specified properties should be
removed from the server.
-retain This option indicates that the server should be instructed not
to reset if xrdb is the first client. This never be necessary
under normal conditions, since xdm and xinit always act as the
This option indicates that the contents of the specified prop-
erties should be edited into the given file, replacing any val-
ues already listed there. This allows you to put changes that
you have made to your defaults back into your resource file,
preserving any comments or preprocessor lines.
This option specifies a suffix to be appended to the filename
used with -edit to generate a backup file.
This option is passed through to the preprocessor and is used
to define symbols for use with conditionals such as
-Uname This option is passed through to the preprocessor and is used
to remove any definitions of this symbol.
This option is passed through to the preprocessor and is used
to specify a directory to search for files that are referenced
Generalizes ~/.Xdefaults files.
X(7x), Xlib Resource Manager documentation, Xt resource documentation
DISPLAY to figure out which display to use.
The default for no arguments should be to query, not to overwrite, so
that it is consistent with other programs.
Bob Scheifler, Phil Karlton, rewritten from the original by Jim Gettys
Man(1) output converted with