This is a description of the recommended installation of the %hx
or, more precisely, what should be done to an existing
xdm
installation in order to use the %hx.
As a background information, some useful documents about
xdm
can be found elsewhere.
This is quite detailed (and therefore boring) and you should usually not do this by hand but let the SUE scripts do it for you...
xdm
must be previously installed (i.e. files are
present), configured (i.e. a suitable xdm-config
is
there) and enabled (i.e. it is started at boot time).
We assume that "the" configuration file
(i.e. xdm-config
) is under ~xdm (by default
/usr/sue/lib/xdm
) and that this directory is
writable. The other configuration files may reside in other
directories, this does not matter.
The list of wrappers to "hook" is: Xresources
,
Xstartup
, Xsession
,
Xreset
. This, both for every display (as is) and for the
console (i.e. with `_0
' appended).
The wrappers are copied (physical copy, not a symlink) under their
"natural" name, for instance Xreset_0
.
The wrappers are part of the %hx distribution, they are in the
xdm
subdirectory, i.e. usually
/usr/local/lib/hepix/X11/xdm
. They are installed by
default under ~xdm/hepix
.
Now starts the real work (under ~xdm
)... Here is how
to modify the xdm
configuration file to use the wrappers:
.std
unless this copy exists. Depending on the system
layout and the type of copy (real copy or move), the subsequent
modifications of this file (by a system patch for instance) may or may not
compete with our modifications. We should avoid this kind of
competition when possible and therefore prefer the "move" copy
(i.e. `mv xdm-config xdm-config.std; cp xdm-config.std
xdm-config
') to the real copy (i.e. `cp xdm-config
xdm-config.std
'). For instance, on HP-UX after a fresh
installation:
# cd /usr/sue/lib/xdm # ll xdm-config* total 12 -rw-r--r-- 1 root sys 932 Dec 5 xdm-config lrwxr-xr-x 1 root sys 27 Oct 12 xdm-config.std -> /usr/lib/X11/xdm/xdm-config
~xdm/hepix
pointing to the "original"
files with the extension .std
. The name should be the
usual name derived from the resource name (i.e. Xreset_0
and not TakeConsole
). The "reference" locations of these
files can either be found in xdm-config.std
or in
xdm-config
if we are careful enough. Since we don't know
which file will be modified (by patches for instance), there is no
perfect solution. Because only xdm-config
is really used
by xdm
, I think it's safer to use it... Here is an
example on HP-UX, note that there is no link for Xreset
,
this is because there was no entry for it in the original
xdm-config
file.
# cd /usr/sue/lib/xdm/hepix # ll Xreset* -r-xr-xr-x 1 root sys 3137 Jan 24 Xreset -r-xr-xr-x 1 root sys 3152 Jan 24 Xreset_0 lrwxr-xr-x 1 root sys 28 Dec 4 Xreset_0.std -> /usr/lib/X11/xdm/TakeConsole
xdm-config
to use the wrappers when
needed. If the entry does not exist, it gets added.
On Digital UNIX, the system's xdm-config
contains
entries both for `_0' and `local_0'. According to the manual, these
different resources have the same consequences. The installation
procedure should handle these... I propose to always remove the
`local_0' entries to avoid confusion:
Lionel Cons, 3-Oct-1996