XDM-Choose -- A replacement chooser for XDM
[ about |
download |
local-use ]
Latest is xdmchoose-1.2.1
This program is a highly configurable replacement chooser for XDM, which allows the user
to type in a hostname and query/connect to it. This is useful when the target X server
cannot be reached by a broadcast packet (as per standard chooser).
A small utility, xdmping, is included, and is a simple command-line program which tests a host's
willingness to accept an XDM session. (quite useful in scripts, etc.).
Here are some screenshots of it:
 |
 |
| regular | after query (and showing host-list) |
Three background images are provided (the above is the "blur" variant), but generating your own is
pretty simple (make your image -- same size as existing ones; save as xpm; edit config file). When
Ctrl-C is pressed on the chooser (which grabs the keyboard incidently), it exits with a configurable
exit-code (this is needed to make it work under Solaris properly). Pressing return after typing a hostname/IP
will attempt a connection to that host. Pressing ESCape will query the host.
Version 1.1.1:
- improved config file handling
- auto{conf,make} stuff improved (Christian Weisgerber)
Version 1.1.2:
- more error messages to aid debugging
- potential bug fixed in configuration stuff
Version 1.1.3:
- fixed a small bug in xdmping, which made it break sometimes
- improved xdmping's command-line parameter handling
Version 1.2.0:
- added drop-down host-list (optional), typing can also be disabled if desired
- improved command-line handling for xdmchooser
- more graceful window-manager interaction (when running in a real environment)
- added some man-pages
Version 1.2.1:
- made the host drop-down list a real drop-down window (won't get clipped in the parent)
- libxpm support optional (but no background images if not available)
This bit describes how to setup XDM-choose locally (if you wish to do that!). This is something I tend
to do on my workstations; it looks prettier and lets me login to other boxes. This is separate
from setting up XDM to launch xdm-choose for chooser requests (that is described in the
README file).
On most Linux installations, XDM is responsible for starting the X server which it then manages (producing the
XDM username/password login screen). To be used with xdm-choose, the X server must be started unmanaged (and told
to perform an indirect XDMCP query to get the chooser -- xdm-choose if configured right!).
XDM keeps the list of managed servers in its Xservers file. The actual path to this file is inside the `xdm-config'
file, that you will find somewhere in `/etc/' (in `/etc/X11/xdm/' on my Debian
system). The entry for the servers file will look something like:
DisplayManager.servers: /usr/X11R6/lib/X11/xdm/Xservers
That file contains a list of local servers to start and manage, and remote terminals to just manage (e.g. XDMCP-less X terminals).
A typically entry for starting the local server on a Linux system is:
:0 local /usr/X11R6/bin/X -dpi 100
To stop XDM starting the X server this way, just comment that line out (with a leading `#').
Now, when XDM starts, it won't start the X server and manage it. Instead, the X server has to be started another way.
I've hacked up an init.d script to do this, downloadable here. To use it, copy the
file into your `init.d' directory (typically `/etc/init.d/' or `/etc/rc.d/init.d/'), rename to
something sensible (e.g. `xserver'), make executable (`chmod +x xserver'), and then update the rc.d symbolic
links. On debian systems use `update-rc.d' to do this, with something like:
bash# update-rc.d xserver defaults 99
On other distributions, use whatever tool you have to, or do it manually. Note that this init.d script may not be robust and
is intended for Debian systems. It may require a bit of hacking to get it working on other systems.
|