XRDB(1) MachTen Programmer’s Manual XRDB(1)
xrdb - X server resource database utility
xrdb [-option ...] [filename]
Xrdb is used to get or set the contents of the
RESOURCE_MANAGER property 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 nor-
mally run this program from your X startup file.
Most X clients use the
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 previ-
ous 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 editing files.
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 overrid-
ing) 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
The file specified by filename
(or the contents from stan-
dard input if - or no filename is given) is optionally
passed through the C preprocessor with the following sym-
bols defined, based on the capabilities of the server
the hostname portion of the display to which you
the SERVERHOST hostname string turned into a legal
identifier. For example, "my-dpy.lcs.mit.edu"
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"
the vendor release number for the server. The
interpretation of this number will vary depending
the X protocol minor version supported by this
server (currently 0).
the X protocol major version supported by this
server (should always be 11).
a string literal specifying the vendor of the
the VENDOR name string turned into a legal identi-
fier. For example, "MIT X Consortium" becomes
A symbol is defined for each protocol extension
supported by the server. Each extension string
name is turned into a legal identifier. For exam-
ple, "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 num-
ber 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, Pseudo-
Color, TrueColor, DirectColor. This is the visual
class of the root window.
the visual class of the root window in a form you
can #ifdef on. The value is the numeric id of the
COLOR defined only if CLASS is
one of StaticColor, Pseu-
doColor, TrueColor, 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
the x resolution of the screen in pixels per
the y resolution of the screen in pixels per
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 printed.
This option specifies the X server to be used; see
X(1). It also specifies the screen to use for the
-screen option, and it specifies the screen from
which preprocessor symbols are derived for the
-all This option indicates that
operation should be
performed on the screen-independent resource prop-
erty (RESOURCE_MANAGER), as well as the screen-
specific property (SCREEN_RESOURCES) on every
screen of the display. For example, when used in
conjunction with -query, the contents of all prop-
erties are output. For -load, -override and
-merge, the input file is processed once for each
screen. The resources which occur in common 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 performed on the screen-independent
-screen This option indicates
that the operation should
only be performed 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
-n This option indicates that
changes to the speci-
fied 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 pre-
processor program 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
-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 specified 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 with-
out damaging preprocessor commands.
-load This option indicates that
the input should be
loaded as the new value of the specified proper-
ties, replacing whatever was there (i.e. the old
contents are removed). This is the default
This option indicates that the input should be
added to, instead of replacing, the current con-
tents of the specified properties. New entries
override previous entries.
-merge This option indicates
that the input should be
merged and lexicographically sorted with, instead
of replacing, the current contents of the speci-
-remove This option indicates
that the specified proper-
ties 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 con-
ditions, since xdm and xinit always act as the
This option indicates that the contents of the
specified properties should be edited into the
given file, replacing any values 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
This option specifies a suffix to be appended to
the filename used with -edit to generate a backup
This option is passed through to the preprocessor
and is used to define symbols for use with condi-
tionals such as
-Uname This option is passed
through to the preprocessor
and is used to remove any definitions of this sym-
This option is passed through to the preprocessor
and is used to specify a directory to search for
files that are referenced with #include.
Generalizes ~/.Xdefaults files.
X(1), Xlib Resource Manager documentation, Xt resource
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
X Version 11 Release 6 5