With a display manager | With xinit or startx Integration

# With a display manager

## xdm, CDE, KDE

If the X Window environment is started by a display manager like dtlogin or xdm, XmetaX can be integrated transparently by modifying the configuration file Xservers. The configuration files are stored in different directories depending on the X Window environment:

X Window environment | Base directory
--- | ---
CDE | /etc/dt/config /usr/dt/config
KDE | /etc/opt/kde3/share/config/kdm
X11 xdm | /usr/lib/X11/xdm /etc/X11/xdm /usr/X11R5/lib/X11/xdm /usr/X11R6/lib/X11/xdm /usr/X11R7/lib/X11/xdm ...
Oracle/Sun OpenWindows xdm | /usr/openwin/lib/xdm

Usually the configuration files of the CDE environment are stored in the directory /etc/dt/config/. If this directory does not contain the file Xservers, you may modify the default configuration in /usr/dt/config/. However, these modifications may be overwritten during installation or upgrade of system software.

The correct procedure is more complicated: create a copy of the Xservers file in the directory /etc/dt/config/:

    mkdir -p /etc/dt/config
    chmod a+rx /etc/dt/config
    cp /usr/dt/config/Xservers /etc/dt/config/Xservers

If the file /usr/dt/config/Xconfig contains a line like

    Dtlogin.servers: /usr/dt/config/Xservers

then modify it, so that the display manager loads the modified version of the Xservers file:

    Dtlogin.servers: /etc/dt/config/Xservers

The file Xservers contains a line for the local X Window server (here an example of a CDE configuration under Oracle Solaris):

    :0 Local local_uid@console root /usr/openwin/bin/Xsun :0

In this line the call of the X Window server has to be substituted by a call of the xmetax program (in the following simple configuration using the default values):

    :0 Local local_uid@console root /opt/XSOXmetaX/bin/xmetaxserverCommand /usr/openwin/bin/Xsun :1

Here only the call of the xmetax program with the serverCommand configuration statement (X Window server) was inserted and the display number was changed from 0 to 1 (Display connection).

The whole entry must be written in one line. More complex configurations can be specified using a configuration file (Configuration file). When calling the xmetax program, the display manager may append more arguments for the X Window server. Therefore, the line in the Xservers file must be terminated by an incomplete serverCommand configuration statement:

    :0 Local local_uid@console root /opt/XSOXmetaX/bin/xmetax/etc/opt/XSOXmetaX/xmetax.conf serverCommand

If the display manager is running during modification of the configuration files, one of the following commands lets it load the new configuration (base_directory stands for one of the above-mentioned directories):

    /usr/dt/bin/dtconfig -reset
    kill -HUP `cat base_directory/xdm-pid`
    kill -HUP `cat /usr/tmp/xdm-pid`
    /etc/init.d/xdm stop && /etc/init.d/xdm start

Usually you find error messages in one of the files:

    /var/dt/Xerrors
    base_directory/xdm-errors
    /etc/X11/xdm/xdm-errors
    base_directory/Xerrors
    /usr/tmp/Xerrors

## Gnome display manager gdm

For transparently integrating XmetaX under Gnome, the configuration file of the display manager gdm gdm.conf (in the directory /etc/X11/gdm or in /etc/opt/gnome/gdm) has to be modified in the section [servers].

First declare that the XmetaX proxy is to be executed instead of the standard X Window server by commenting the standard server and adding the proxy server:

    #0=Standard
    0=X-Software-XmetaX
    #1=Standard

Then add the parameters of the XmetaX proxy after the definition of the standard server:

    # Definition of the standard X server.
    [server-Standard]
    name=Standard server
    command=/usr/X11R6/bin/X
    flexible=true
    # Definition of the X-Software XmetaX proxy server.
    [server-X-Software-XmetaX]
    name=X-Software XmetaX proxy
    command=/opt/XSOXmetaX/bin/xmetaxserverCommand /usr/X11R6/bin/X :1
    flexible=false

Here the command for the standard server was augmented by the call of the xmetax program with the serverCommand configuration statement (X Window server) and the display number 1 was added (Display connection). With the proxy server stacked in between it is not possible to start additional servers later (flexible=false).

Usually you find error messages in one of the directories:

    /var/log/gdm/
    /var/lib/log/gdm/

Extensive tracing can be switched on in the section [debug] of the configuration file:

    #Enable=false
    Enable=true

top
With xinit or startx
Integration

Copyright © 2021 X-Software GmbH
info@x-software.com