HEPiX X11 Scripts - XDM Wrappers Installation

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

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.

Wrappers

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.

Installation

Now starts the real work (under ~xdm)... Here is how to modify the xdm configuration file to use the wrappers:

  1. Save a copy of the configuration file with the extension .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
    
  2. Create symlinks under ~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
    
  3. Modify xdm-config to use the wrappers when needed. If the entry does not exist, it gets added.

Known Problems

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