summaryrefslogtreecommitdiff
path: root/app/xdm/man
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2011-11-15 20:53:46 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2011-11-15 20:53:46 +0000
commite2b9e6a531074d39884bbfb9fceea5452477e6e1 (patch)
tree93d4e50881a61fc7863419ba72c5fb77a21c7f43 /app/xdm/man
parent94d97c4f735232b43d7c8cb8fb1b1262e25850a0 (diff)
Update to xdm 1.1.11 plus a few patches from git master.
patched to restore static greeter. Tested by shadchin@, jasper@
Diffstat (limited to 'app/xdm/man')
-rw-r--r--app/xdm/man/Makefile.am55
-rw-r--r--app/xdm/man/Makefile.in526
-rw-r--r--app/xdm/man/xdm.man1466
-rw-r--r--app/xdm/man/xdmshell.man108
4 files changed, 2155 insertions, 0 deletions
diff --git a/app/xdm/man/Makefile.am b/app/xdm/man/Makefile.am
new file mode 100644
index 000000000..b71409c49
--- /dev/null
+++ b/app/xdm/man/Makefile.am
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+
+appmandir = $(APP_MAN_DIR)
+appman_PRE = xdm.man
+appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX))
+
+xdmlmandir = $(APP_MAN_DIR)
+xdmlman_PRE = xdmshell.man
+
+if INSTALL_XDMSHELL
+xdmlman_DATA = $(xdmlman_PRE:man=$(APP_MAN_SUFFIX))
+else
+noinst_DATA = $(xdmlman_PRE:man=$(APP_MAN_SUFFIX))
+endif
+
+EXTRA_DIST = $(appman_PRE) $(xdmlman_PRE)
+CLEANFILES = $(appman_DATA) $(xdmlman_DATA) $(noinst_DATA)
+SUFFIXES = .$(APP_MAN_SUFFIX) .man
+
+# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
+MAN_SUBSTS += -e 's|CHOOSERPATH|$(XDMLIBDIR)/chooser|g' \
+ -e 's|XDMLOGDIR|$(XDMLOGDIR)|g' \
+ -e 's|XDMDIR|$(XDMCONFIGDIR)|g' \
+ -e 's|BINDIR|$(bindir)|g' \
+ -e 's|XDMPIDDIR|$(XDMPIDDIR)|g' \
+ -e 's|XDMXAUTHDIR|$(XDMXAUTHDIR)|g' \
+ -e 's|DEF_USER_PATH|$(DEF_USER_PATH)|g' \
+ -e 's|DEF_SYSTEM_PATH|$(DEF_SYSTEM_PATH)|g' \
+ -e 's|DEF_GREETER_LIB|$(DEF_GREETER_LIB)|g' \
+ -e 's|DEV_RANDOM|$(DEV_RANDOM)|g' \
+ -e 's|ARC4_RANDOM|$(HAVE_ARC4RANDOM)|g'
+
+.man.$(APP_MAN_SUFFIX):
+ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
diff --git a/app/xdm/man/Makefile.in b/app/xdm/man/Makefile.in
new file mode 100644
index 000000000..e055201c2
--- /dev/null
+++ b/app/xdm/man/Makefile.in
@@ -0,0 +1,526 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = ${SHELL} $(install_sh) -c -m 644
+install_sh_PROGRAM = ${SHELL} $(install_sh) -c
+install_sh_SCRIPT = ${SHELL} $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = man
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_define_dir.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(appmandir)" "$(DESTDIR)$(xdmlmandir)"
+appmanDATA_INSTALL = $(INSTALL_DATA)
+xdmlmanDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(appman_DATA) $(noinst_DATA) $(xdmlman_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
+ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+APPDEFS_CFLAGS = @APPDEFS_CFLAGS@
+APPDEFS_LIBS = @APPDEFS_LIBS@
+APP_MAN_DIR = @APP_MAN_DIR@
+APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
+AR = @AR@
+AUTH_CFLAGS = @AUTH_CFLAGS@
+AUTH_LIBS = @AUTH_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CHANGELOG_CMD = @CHANGELOG_CMD@
+CHOOSER_CFLAGS = @CHOOSER_CFLAGS@
+CHOOSER_LIBS = @CHOOSER_LIBS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CWARNFLAGS = @CWARNFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULTVT = @DEFAULTVT@
+DEFS = @DEFS@
+DEF_AUTH_DIR = @DEF_AUTH_DIR@
+DEF_CHOOSER = @DEF_CHOOSER@
+DEF_FAILSAFE_CLIENT = @DEF_FAILSAFE_CLIENT@
+DEF_GREETER_LIB = @DEF_GREETER_LIB@
+DEF_SERVER_LINE = @DEF_SERVER_LINE@
+DEF_SESSION = @DEF_SESSION@
+DEF_SYSTEM_PATH = @DEF_SYSTEM_PATH@
+DEF_SYSTEM_SHELL = @DEF_SYSTEM_SHELL@
+DEF_USER_PATH = @DEF_USER_PATH@
+DEF_XDM_CONFIG = @DEF_XDM_CONFIG@
+DEPDIR = @DEPDIR@
+DEV_RANDOM = @DEV_RANDOM@
+DLLTOOL = @DLLTOOL@
+DMCP_CFLAGS = @DMCP_CFLAGS@
+DMCP_LIBS = @DMCP_LIBS@
+DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
+DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+DYNAMIC_GREETER_FALSE = @DYNAMIC_GREETER_FALSE@
+DYNAMIC_GREETER_TRUE = @DYNAMIC_GREETER_TRUE@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FILE_MAN_DIR = @FILE_MAN_DIR@
+FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
+GREP = @GREP@
+HAS_KERBEROS_FIVE_FALSE = @HAS_KERBEROS_FIVE_FALSE@
+HAS_KERBEROS_FIVE_TRUE = @HAS_KERBEROS_FIVE_TRUE@
+HAS_SECURE_RPC_FALSE = @HAS_SECURE_RPC_FALSE@
+HAS_SECURE_RPC_TRUE = @HAS_SECURE_RPC_TRUE@
+HAS_XDM_AUTH_FALSE = @HAS_XDM_AUTH_FALSE@
+HAS_XDM_AUTH_TRUE = @HAS_XDM_AUTH_TRUE@
+HAVE_ARC4RANDOM = @HAVE_ARC4RANDOM@
+HAVE_ARC4RANDOM_FALSE = @HAVE_ARC4RANDOM_FALSE@
+HAVE_ARC4RANDOM_TRUE = @HAVE_ARC4RANDOM_TRUE@
+HAVE_MKTEMP_COMMAND_FALSE = @HAVE_MKTEMP_COMMAND_FALSE@
+HAVE_MKTEMP_COMMAND_TRUE = @HAVE_MKTEMP_COMMAND_TRUE@
+HAVE_SYSTEMD_FALSE = @HAVE_SYSTEMD_FALSE@
+HAVE_SYSTEMD_TRUE = @HAVE_SYSTEMD_TRUE@
+INSTALL_CMD = @INSTALL_CMD@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTALL_XDMSHELL_FALSE = @INSTALL_XDMSHELL_FALSE@
+INSTALL_XDMSHELL_TRUE = @INSTALL_XDMSHELL_TRUE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIB_MAN_DIR = @LIB_MAN_DIR@
+LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
+LINT = @LINT@
+LINT_FALSE = @LINT_FALSE@
+LINT_FLAGS = @LINT_FLAGS@
+LINT_TRUE = @LINT_TRUE@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+
+# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
+MAN_SUBSTS = @MAN_SUBSTS@ -e 's|CHOOSERPATH|$(XDMLIBDIR)/chooser|g' -e \
+ 's|XDMLOGDIR|$(XDMLOGDIR)|g' -e 's|XDMDIR|$(XDMCONFIGDIR)|g' \
+ -e 's|BINDIR|$(bindir)|g' -e 's|XDMPIDDIR|$(XDMPIDDIR)|g' -e \
+ 's|XDMXAUTHDIR|$(XDMXAUTHDIR)|g' -e \
+ 's|DEF_USER_PATH|$(DEF_USER_PATH)|g' -e \
+ 's|DEF_SYSTEM_PATH|$(DEF_SYSTEM_PATH)|g' -e \
+ 's|DEF_GREETER_LIB|$(DEF_GREETER_LIB)|g' -e \
+ 's|DEV_RANDOM|$(DEV_RANDOM)|g' -e \
+ 's|ARC4_RANDOM|$(HAVE_ARC4RANDOM)|g'
+MISC_MAN_DIR = @MISC_MAN_DIR@
+MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
+MKTEMP_COMMAND = @MKTEMP_COMMAND@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+RAWCPP = @RAWCPP@
+RAWCPPFLAGS = @RAWCPPFLAGS@
+SED = @SED@
+SERVERSTYPE = @SERVERSTYPE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHELL_CMD = @SHELL_CMD@
+STRICT_CFLAGS = @STRICT_CFLAGS@
+STRIP = @STRIP@
+SU = @SU@
+SYSTEMD_DAEMON_CFLAGS = @SYSTEMD_DAEMON_CFLAGS@
+SYSTEMD_DAEMON_LIBS = @SYSTEMD_DAEMON_LIBS@
+USE_SYSTEMD_DAEMON_FALSE = @USE_SYSTEMD_DAEMON_FALSE@
+USE_SYSTEMD_DAEMON_TRUE = @USE_SYSTEMD_DAEMON_TRUE@
+USE_XPM_FALSE = @USE_XPM_FALSE@
+USE_XPM_TRUE = @USE_XPM_TRUE@
+UTMP_FILE = @UTMP_FILE@
+VERSION = @VERSION@
+WTMP_FILE = @WTMP_FILE@
+XDMCONFIGDIR = @XDMCONFIGDIR@
+XDMGREET_CFLAGS = @XDMGREET_CFLAGS@
+XDMGREET_LIBS = @XDMGREET_LIBS@
+XDMLIBDIR = @XDMLIBDIR@
+XDMLOGDIR = @XDMLOGDIR@
+XDMPIDDIR = @XDMPIDDIR@
+XDMSCRIPTDIR = @XDMSCRIPTDIR@
+XDMSHELL_CFLAGS = @XDMSHELL_CFLAGS@
+XDMSHELL_LIBS = @XDMSHELL_LIBS@
+XDMXAUTHDIR = @XDMXAUTHDIR@
+XDM_BWPIXMAP = @XDM_BWPIXMAP@
+XDM_CFLAGS = @XDM_CFLAGS@
+XDM_LIBS = @XDM_LIBS@
+XDM_PIXMAP = @XDM_PIXMAP@
+XDM_PIXMAPDIR = @XDM_PIXMAPDIR@
+XDM_TOOLKIT_CFLAGS = @XDM_TOOLKIT_CFLAGS@
+XDM_TOOLKIT_LIBS = @XDM_TOOLKIT_LIBS@
+XFT_CFLAGS = @XFT_CFLAGS@
+XFT_LIBS = @XFT_LIBS@
+XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
+XINERAMA_LIBS = @XINERAMA_LIBS@
+XLIB_CFLAGS = @XLIB_CFLAGS@
+XLIB_LIBS = @XLIB_LIBS@
+XORG_MAN_PAGE = @XORG_MAN_PAGE@
+XPM_CFLAGS = @XPM_CFLAGS@
+XPM_LIBS = @XPM_LIBS@
+XRDB_PROGRAM = @XRDB_PROGRAM@
+XT_CFLAGS = @XT_CFLAGS@
+XT_LIBS = @XT_LIBS@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+appdefaultdir = @appdefaultdir@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+systemdsystemunitdir = @systemdsystemunitdir@
+target_alias = @target_alias@
+appmandir = $(APP_MAN_DIR)
+appman_PRE = xdm.man
+appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX))
+xdmlmandir = $(APP_MAN_DIR)
+xdmlman_PRE = xdmshell.man
+@INSTALL_XDMSHELL_TRUE@xdmlman_DATA = $(xdmlman_PRE:man=$(APP_MAN_SUFFIX))
+@INSTALL_XDMSHELL_FALSE@noinst_DATA = $(xdmlman_PRE:man=$(APP_MAN_SUFFIX))
+EXTRA_DIST = $(appman_PRE) $(xdmlman_PRE)
+CLEANFILES = $(appman_DATA) $(xdmlman_DATA) $(noinst_DATA)
+SUFFIXES = .$(APP_MAN_SUFFIX) .man
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .$(APP_MAN_SUFFIX) .man
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign man/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+install-appmanDATA: $(appman_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(appmandir)" || $(mkdir_p) "$(DESTDIR)$(appmandir)"
+ @list='$(appman_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \
+ $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \
+ done
+
+uninstall-appmanDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(appman_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \
+ rm -f "$(DESTDIR)$(appmandir)/$$f"; \
+ done
+install-xdmlmanDATA: $(xdmlman_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(xdmlmandir)" || $(mkdir_p) "$(DESTDIR)$(xdmlmandir)"
+ @list='$(xdmlman_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(xdmlmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(xdmlmandir)/$$f'"; \
+ $(xdmlmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(xdmlmandir)/$$f"; \
+ done
+
+uninstall-xdmlmanDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(xdmlman_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(xdmlmandir)/$$f'"; \
+ rm -f "$(DESTDIR)$(xdmlmandir)/$$f"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(appmandir)" "$(DESTDIR)$(xdmlmandir)"; do \
+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-appmanDATA install-xdmlmanDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-appmanDATA uninstall-info-am \
+ uninstall-xdmlmanDATA
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-appmanDATA install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip install-xdmlmanDATA installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am uninstall uninstall-am uninstall-appmanDATA \
+ uninstall-info-am uninstall-xdmlmanDATA
+
+
+.man.$(APP_MAN_SUFFIX):
+ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/app/xdm/man/xdm.man b/app/xdm/man/xdm.man
new file mode 100644
index 000000000..9590c1a32
--- /dev/null
+++ b/app/xdm/man/xdm.man
@@ -0,0 +1,1466 @@
+.\" Copyright 1988, 1994, 1998 The Open Group
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation.
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of The Open Group shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from The Open Group.
+.\"
+.\"
+.TH XDM 1 __xorgversion__
+.SH NAME
+xdm \- X Display Manager with support for XDMCP, host chooser
+.SH SYNOPSIS
+.B xdm
+[
+.B \-config
+.I configuration_file
+] [
+.B \-nodaemon
+] [
+.B \-debug
+.I debug_level
+] [
+.B \-error
+.I error_log_file
+] [
+.B \-resources
+.I resource_file
+] [
+.B \-server
+.I server_entry
+] [
+.B \-session
+.I session_program
+]
+.SH DESCRIPTION
+.I Xdm
+manages a collection of X displays, which may be on the local host
+or remote servers. The design of
+.I xdm
+was guided by the needs of X terminals as well as The Open Group standard
+XDMCP, the \fIX Display Manager Control Protocol\fP.
+.I Xdm
+provides services similar to those provided by \fIinit\fP, \fIgetty\fP
+and \fIlogin\fP on character terminals: prompting for login name and password,
+authenticating the user, and running a ``session.''
+.PP
+A ``session'' is defined by the lifetime of a particular process; in the
+traditional character-based terminal world, it is the user's login shell.
+In the
+.I xdm
+context, it is an arbitrary session manager. This is because in a windowing
+environment, a user's login shell process does not necessarily have any
+terminal-like interface with which to connect.
+When a real session manager is not available, a window manager or terminal
+emulator is typically used as the ``session manager,'' meaning that
+termination of this process terminates the user's session.
+.PP
+When the session is terminated, \fIxdm\fP
+resets the X server and (optionally) restarts the whole process.
+.PP
+When \fIxdm\fP receives an Indirect query via XDMCP, it can run a
+\fIchooser\fP process to
+perform an XDMCP BroadcastQuery (or an XDMCP Query to specified hosts)
+on behalf of the display and
+offer a menu of possible hosts that offer XDMCP display management.
+This feature is useful with X terminals that do not offer a host
+menu themselves.
+.PP
+.I Xdm
+can be configured to ignore BroadcastQuery messages from selected hosts.
+This is useful when you don't want the host to appear in menus produced
+by
+.I chooser
+or X terminals themselves.
+.PP
+Because
+.I xdm
+provides the first interface that users will see, it is designed to be
+simple to use and easy to customize to the needs of a particular site.
+.I Xdm
+has many options, most of which have reasonable defaults. Browse through the
+various sections of this manual,
+picking and choosing the things you want to change.
+Pay particular attention to the
+.B "Session Program"
+section, which will describe how to
+set up the style of session desired.
+.SH "OVERVIEW"
+\fIxdm\fP is highly configurable, and most of its behavior can be
+controlled by resource files and shell scripts. The names of these
+files themselves are resources read from the file \fIxdm-config\fP or
+the file named by the \fB\-config\fP option.
+.PP
+\fIxdm\fP offers display management two different ways. It can manage
+X servers running on the local machine and specified in
+\fIXservers\fP, and it can manage remote X servers (typically X
+terminals) using XDMCP (the XDM Control Protocol)
+as specified in the \fIXaccess\fP file.
+.PP
+The resources of the X clients run by \fIxdm\fP outside the user's
+session, including \fIxdm\fP's own login window, can be
+affected by setting resources in the \fIXresources\fP file.
+.PP
+For X terminals that do not offer a menu of hosts to get display
+management from, \fIxdm\fP can collect willing hosts and run the
+\fIchooser\fP program to offer the user a menu.
+For X displays attached to a host, this step is typically not used, as
+the local host does the display management.
+.PP
+After resetting the X server, \fIxdm\fP runs the \fIXsetup\fP script
+to assist in setting up the screen the user sees along with the
+\fIxlogin\fP widget.
+.PP
+The \fIxlogin\fP widget, which \fIxdm\fP presents,
+offers the familiar login and password prompts.
+.PP
+After the user logs in, \fIxdm\fP runs the \fIXstartup\fP script as
+root.
+.PP
+Then \fIxdm\fP runs the \fIXsession\fP script as the user. This
+system session file may do some additional startup and typically runs
+the \fI.xsession\fP script in the user's home directory.
+When the \fIXsession\fP script exits, the session is over.
+.PP
+At the end of the session, the \fIXreset\fP script is run to clean up,
+the X server is reset, and the cycle starts over.
+.PP
+The file \fI XDMLOGDIR/xdm.log\fP will contain error
+messages from
+.I xdm
+and anything output to stderr by \fIXsetup, Xstartup, Xsession\fP
+or \fIXreset\fP.
+When you have trouble getting
+.I xdm
+working, check this file to see if
+.I xdm
+has any clues to the trouble.
+.SH OPTIONS
+.PP
+All of these options, except \fB\-config\fP itself,
+specify values that can also be specified in the configuration file
+as resources.
+.IP "\fB\-config\fP \fIconfiguration_file\fP"
+Names the configuration file, which specifies resources to control
+the behavior of
+.I xdm.
+.I XDMDIR/xdm-config
+is the default.
+See the section \fBConfiguration File\fP.
+.IP "\fB\-nodaemon\fP"
+Specifies ``false'' as the value for the \fBDisplayManager.daemonMode\fP
+resource.
+This suppresses the normal daemon behavior, which is for
+.I xdm
+to close all file descriptors, disassociate itself from
+the controlling terminal, and put
+itself in the background when it first starts up.
+.IP "\fB\-debug\fP \fIdebug_level\fP"
+Specifies the numeric value for the \fBDisplayManager.debugLevel\fP
+resource. A non-zero value causes
+.I xdm
+to print lots of debugging statements to the terminal; it also disables the
+\fBDisplayManager.daemonMode\fP resource, forcing
+.I xdm
+to run synchronously. To interpret these debugging messages, a copy
+of the source code for
+.I xdm
+is almost a necessity. No attempt has been
+made to rationalize or standardize the output.
+.IP "\fB\-error\fP \fIerror_log_file\fP"
+Specifies the value for the \fBDisplayManager.errorLogFile\fP resource.
+This file contains errors from
+.I xdm
+as well as anything written to stderr by the various scripts and programs
+run during the progress of the session.
+.IP "\fB\-resources\fP \fIresource_file\fP"
+Specifies the value for the \fBDisplayManager*resources\fP resource. This file
+is loaded using
+.IR xrdb (__appmansuffix__)
+to specify configuration parameters for the
+authentication widget.
+.IP "\fB\-server\fP \fIserver_entry\fP"
+Specifies the value for the \fBDisplayManager.servers\fP resource.
+See the section
+.B "Local Server Specification"
+for a description of this resource.
+.IP "\fB\-udpPort\fP \fIport_number\fP"
+Specifies the value for the \fBDisplayManager.requestPort\fP resource. This
+sets the port-number which
+.I xdm
+will monitor for XDMCP requests. If set to 0, xdm will not listen
+for XDMCP or Chooser requests. As XDMCP uses the registered well-known
+UDP port 177, this resource should not be changed to a value other than 0,
+except for debugging.
+.IP "\fB\-session\fP \fIsession_program\fP"
+Specifies the value for the \fBDisplayManager*session\fP resource. This
+indicates the program to run as the session after the user has logged in.
+.IP "\fB\-xrm\fP \fIresource_specification\fP"
+Allows an arbitrary resource to be specified, as in most
+X Toolkit applications.
+.SH RESOURCES
+At many stages the actions of
+.I xdm
+can be controlled through the use of its configuration file, which is in the
+X resource format.
+Some resources modify the behavior of
+.I xdm
+on all displays,
+while others modify its behavior on a single display. Where actions relate
+to a specific display,
+the display name is inserted into the resource name between
+``DisplayManager'' and the final resource name segment.
+.PP
+For local displays, the resource name and class are as read from the
+\fIXservers\fP file.
+.PP
+For remote displays, the resource name is what the network address of
+the display resolves to. See the \fBremoveDomain\fP resource. The
+name must match exactly; \fIxdm\fP is not aware of
+all the network aliases that might reach a given display.
+If the name resolve fails, the address is
+used. The resource class is as sent by the display in the XDMCP
+Manage request.
+.PP
+Because the resource
+manager uses colons to separate the name of the resource from its value and
+dots to separate resource name parts,
+.I xdm
+substitutes underscores for both dots and colons when generating the resource
+name.
+For example, \fBDisplayManager.expo_x_org_0.startup\fP is the name of the
+resource which defines the startup shell file for the ``expo.x.org:0'' display.
+.\"
+.IP "\fBDisplayManager.servers\fP"
+This resource either specifies a file name full of server entries, one per
+line (if the value starts with a slash), or a single server entry.
+See the section \fBLocal Server Specification\fP for the details.
+.IP "\fBDisplayManager.requestPort\fP"
+This indicates the UDP port number which
+.I xdm
+uses to listen for incoming XDMCP requests. Unless you need to debug the
+system, leave this with its default value of 177.
+.IP "\fBDisplayManager.errorLogFile\fP"
+Error output is normally directed at the system console. To redirect it,
+set this resource to a file name. A method to send these messages to
+.I syslog
+should be developed for systems which support it; however, the
+wide variety of interfaces precludes any system-independent
+implementation. This file also contains any output directed to stderr
+by the \fIXsetup, Xstartup, Xsession\fP and \fIXreset\fP files,
+so it will contain descriptions
+of problems in those scripts as well.
+.IP "\fBDisplayManager.debugLevel\fP"
+If the integer value of this resource is greater than zero,
+reams of
+debugging information will be printed. It also disables daemon mode, which
+would redirect the information into the bit-bucket, and
+allows non-root users to run
+.I xdm,
+which would normally not be useful.
+.IP "\fBDisplayManager.daemonMode\fP"
+Normally,
+.I xdm
+attempts to make itself into a daemon process unassociated with any terminal.
+This is
+accomplished by forking and leaving the parent process to exit, then closing
+file descriptors and releasing the controlling terminal. In some
+environments this is not desired (in particular, when debugging). Setting
+this resource to ``false'' will disable this feature.
+.IP "\fBDisplayManager.pidFile\fP"
+The filename specified will be created to contain an ASCII
+representation of the process-id of the main
+.I xdm
+process.
+.I Xdm
+also uses file locking on this file
+to attempt to eliminate multiple daemons running on
+the same machine, which would cause quite a bit of havoc.
+.IP "\fBDisplayManager.lockPidFile\fP"
+This is the resource which controls whether
+.I xdm
+uses file locking to keep multiple display managers from running amok.
+On System V, this
+uses the \fIlockf\fP library call, while on BSD it uses \fIflock.\fP
+.IP "\fBDisplayManager.authDir\fP"
+This names a directory under which
+.I xdm
+stores authorization files while initializing the session. The
+default value is \fI XDMXAUTHDIR.\fP
+Can be overridden for specific displays by
+DisplayManager.\fIDISPLAY\fP.authFile.
+.IP \fBDisplayManager.autoRescan\fP
+This boolean controls whether
+.I xdm
+rescans the configuration, servers, access control and authentication keys
+files after a session terminates and the files have changed. By default it
+is ``true.'' You can force
+.I xdm
+to reread these files by sending a SIGHUP to the main process.
+.IP "\fBDisplayManager.removeDomainname\fP"
+When computing the display name for XDMCP clients, the name resolver will
+typically create a fully qualified host name for the terminal. As this is
+sometimes confusing,
+.I xdm
+will remove the domain name portion of the host name if it is the same as the
+domain name of the local host when this variable is set. By default the
+value is ``true.''
+.IP "\fBDisplayManager.keyFile\fP"
+XDM-AUTHENTICATION-1 style XDMCP authentication requires that a private key
+be shared between
+.I xdm
+and the terminal. This resource specifies the file containing those
+values. Each entry in the file consists of a display name and the shared
+key. By default,
+.I xdm
+does not include support for XDM-AUTHENTICATION-1, as it requires DES which
+is not generally distributable because of United States export restrictions.
+.IP \fBDisplayManager.accessFile\fP
+To prevent unauthorized XDMCP service and to allow forwarding of XDMCP
+IndirectQuery requests, this file contains a database of hostnames which are
+either allowed direct access to this machine, or have a list of hosts to
+which queries should be forwarded to. The format of this file is described
+in the section
+.B "XDMCP Access Control."
+.IP \fBDisplayManager.exportList\fP
+A list of additional environment variables, separated by white space,
+to pass on to the \fIXsetup\fP,
+\fIXstartup\fP, \fIXsession\fP, and \fIXreset\fP programs.
+.\" The command "if 'x.A'x' .ig" causes everything up to .. to be ignored
+.\" if A is replaced by an empty string in the sed processing, otherwise
+.\" it will be output as normal.
+.if !'x.ARC4_RANDOM'x.' .ig
+.IP \fBDisplayManager.randomFile\fP
+A file to checksum to generate the seed of authorization keys.
+This should be a file that changes frequently.
+The default is \fI/dev/mem\fP.
+..
+.if 'x.DEV_RANDOM'x.' .ig
+.IP \fBDisplayManager.randomDevice\fP
+A file to read 8 bytes from to generate the seed of authorization keys.
+The default is \fI DEV_RANDOM \fP. If this file cannot be read, or if a
+read blocks for more than 5 seconds, xdm falls back to using a checksum
+of \fBDisplayManager.randomFile\fP to generate the seed.
+..
+.if !'x.ARC4_RANDOM'x.' .ig
+.IP \fBDisplayManager.prngdSocket\fP
+.IP \fBDisplayManager.prngPort\fP
+A UNIX domain socket name or a TCP socket port number on local host on
+which a Pseudo-Random Number Generator Daemon, like EGD
+(http://egd.sourceforge.net) is listening, in order to generate the
+autorization keys. Either a non null port or a valid socket name must
+be specified. The default is to use the Unix-domain socket
+\fI/tmp/entropy\fP.
+.PP
+On systems that don't have such a daemon, a fall-back entropy
+gathering system, based on various log file contents hashed by the MD5
+algorithm is used instead.
+..
+.IP \fBDisplayManager.greeterLib\fP
+On systems that support a dynamically-loadable greeter library, the
+name of the library. The default is
+\fI DEF_GREETER_LIB\fP.
+.IP \fBDisplayManager.choiceTimeout\fP
+Number of seconds to wait for display to respond after user has
+selected a host from the chooser. If the display sends an XDMCP
+IndirectQuery within this time, the request is forwarded to the chosen
+host. Otherwise, it is assumed to be from a new session and the
+chooser is offered again.
+Default is 15.
+.IP \fBDisplayManager.sourceAddress\fP
+Use the numeric IP address of the incoming connection on multihomed hosts
+instead of the host name. This is to avoid trying to connect on the wrong
+interface which might be down at this time.
+.IP \fBDisplayManager.willing\fP
+This specifies a program which is run (as) root when an an XDMCP
+BroadcastQuery is received and this host is configured to offer XDMCP
+display management. The output of this program may be displayed on a chooser
+window. If no program is specified, the string \fIWilling to manage\fP is
+sent.
+.PP
+.\"
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.resources\fP"
+This resource specifies the name of the file to be loaded by \fIxrdb\fP
+as the resource database onto the root window of screen 0 of the display.
+The \fIXsetup\fP program, the Login widget, and \fIchooser\fP will use
+the resources set in this file.
+This resource data base is loaded just before the authentication procedure
+is started, so it can control the appearance of the login window. See the
+section
+.B "Authentication Widget,"
+which describes the various
+resources that are appropriate to place in this file.
+There is no default value for this resource, but
+\fI XDMDIR/Xresources\fP
+is the conventional name.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.chooser\fP"
+Specifies the program run to offer a host menu for Indirect queries
+redirected to the special host name CHOOSER.
+\fI CHOOSERPATH \fP is the default.
+See the sections \fBXDMCP Access Control\fP and \fBChooser\fP.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.xrdb\fP"
+Specifies the program used to load the resources. By default,
+.I xdm
+uses \fI BINDIR/xrdb\fP.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.cpp\fP"
+This specifies the name of the C preprocessor which is used by \fIxrdb\fP.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.setup\fP"
+This specifies a program which is run (as root) before offering the
+Login window. This may be used to change the appearance of the screen
+around the Login window or to put up other windows (e.g., you may want
+to run \fIxconsole\fP here).
+By default, no program is run. The conventional name for a
+file used here is \fIXsetup\fP.
+See the section \fBSetup Program.\fP
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.startup\fP"
+This specifies a program which is run (as root) after the authentication
+process succeeds. By default, no program is run. The conventional name for a
+file used here is \fIXstartup\fP.
+See the section \fBStartup Program.\fP
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.session\fP"
+This specifies the session to be executed (not running as root).
+By default, \fI BINDIR/xterm\fP is
+run. The conventional name is \fIXsession\fP.
+See the section
+.B "Session Program."
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.reset\fP"
+This specifies a program which is run (as root) after the session terminates.
+By default, no program is run.
+The conventional name is \fIXreset\fP.
+See the section
+.B "Reset Program."
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.openDelay\fP"
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.openRepeat\fP"
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.openTimeout\fP"
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.startAttempts\fP"
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.reservAttempts\fP"
+These numeric resources control the behavior of
+.I xdm
+when attempting to open intransigent servers. \fBopenDelay\fP is
+the length of the
+pause in seconds between successive attempts, \fBopenRepeat\fP is the
+number of attempts to make, \fBopenTimeout\fP is the amount of time
+to wait while actually
+attempting the open (i.e., the maximum time spent in the
+.IR connect (2)
+system call) and \fBstartAttempts\fP is the number of times this
+entire process is done before giving up on the server.
+After \fBopenRepeat\fP attempts have been made, or
+if \fBopenTimeout\fP seconds elapse in any particular attempt,
+.I xdm
+terminates and restarts the server, attempting to connect again.
+This process is repeated \fBstartAttempts\fP times, at which point
+the display is declared dead and disabled. Although
+this behavior may seem arbitrary, it has been empirically developed and
+works quite well on most systems. The bound \fBreservAttempts\fP
+is the number of times a successful connect is allowed to be followed
+by a fatal error. When reached, the display is disabled.
+The default values are
+\fBopenDelay\fP: 15, \fBopenRepeat\fP: 5, \fBopenTimeout\fP: 120,
+\fBstartAttempts\fP: 4 and \fBreservAttempts\fP: 2.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.pingInterval\fP"
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.pingTimeout\fP"
+To discover when remote displays disappear,
+.I xdm
+occasionally pings them, using an X connection and \fIXSync\fP
+calls. \fBpingInterval\fP specifies the time (in minutes) between each
+ping attempt, \fBpingTimeout\fP specifies the maximum amount of time (in
+minutes) to wait for the terminal to respond to the request. If the
+terminal does not respond, the session is declared dead and terminated. By
+default, both are set to 5 minutes. If you frequently use X terminals which
+can become isolated from the managing host, you may wish to increase this
+value. The only worry is that sessions will continue to exist after the
+terminal has been accidentally disabled.
+.I xdm
+will not ping local displays. Although it would seem harmless, it is
+unpleasant when the workstation session is terminated as a result of the
+server hanging for NFS service and not responding to the ping.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.terminateServer\fP"
+This boolean resource specifies whether the X server should be terminated
+when a session terminates (instead of resetting it). This option can be
+used when the server tends to grow without bound over time, in order to limit
+the amount of time the server is run. The default value is ``false.''
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.userPath\fP"
+.I Xdm
+sets the PATH environment variable for the session to this value. It should
+be a colon separated list of directories; see
+.IR sh (__appmansuffix__)
+for a full description.
+The default value is ``DEF_USER_PATH''.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.systemPath\fP"
+.I Xdm
+sets the PATH environment variable for the startup and reset scripts to the
+value of this resource. The default for this resource is ``DEF_SYSTEM_PATH''.
+Note the absence of ``.'' from this entry. This is a good practice to
+follow for root; it avoids many common Trojan Horse system penetration
+schemes.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.systemShell\fP"
+.I Xdm
+sets the SHELL environment variable for the startup and reset scripts to the
+value of this resource. It is \fI/bin/sh\fP by default.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.failsafeClient\fP"
+If the default session fails to execute,
+.I xdm
+will fall back to this program. This program is executed with no
+arguments, but executes using the same environment variables as
+the session would have had (see the section \fBSession Program\fP).
+By default, \fI BINDIR/xterm\fP is used.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.grabServer\fP"
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.grabTimeout\fP"
+To improve security,
+.I xdm
+grabs the server and keyboard while reading the login name and password.
+The
+\fBgrabServer\fP resource specifies if the server should be held for the
+duration of the name/password reading. When ``false,'' the server is ungrabbed
+after the keyboard grab succeeds, otherwise the server is grabbed until just
+before the session begins. The default is ``false.''
+The \fBgrabTimeout\fP resource specifies the maximum time
+.I xdm
+will wait for the grab to succeed. The grab may fail if some other
+client has the server grabbed, or possibly if the network latencies
+are very high. This resource has a default value of 3 seconds; you
+should be cautious when raising it, as a user can be spoofed by a
+look-alike window on the display. If the grab fails,
+.I xdm
+kills and restarts the server (if possible) and the session.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.authorize\fP"
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.authName\fP"
+\fBauthorize\fP is a boolean resource which controls whether
+.I xdm
+generates and uses authorization for the local server connections. If
+authorization is used, \fBauthName\fP is a list
+of authorization mechanisms to use, separated by white space.
+XDMCP connections dynamically specify which
+authorization mechanisms are supported, so
+\fBauthName\fP is ignored in this case. When \fBauthorize\fP is set for a
+display and authorization is not available, the user is informed by having a
+different message displayed in the login widget. By default, \fBauthorize\fP
+is ``true,'' \fBauthName\fP is ``MIT-MAGIC-COOKIE-1,'' or, if
+XDM-AUTHORIZATION-1 is available, ``XDM-AUTHORIZATION-1\0MIT-MAGIC-COOKIE-1.''
+.IP \fBDisplayManager.\fP\fIDISPLAY\fP\fB.authFile\fP
+This file is used to communicate the authorization data from
+.I xdm
+to the server, using the \fB\-auth\fP server command line option.
+It should be
+kept in a directory which is not world-writable as it could easily be
+removed, disabling the authorization mechanism in the server.
+If not specified, a name is generated from DisplayManager.authDir and
+the name of the display.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.authComplain\fP"
+If set to ``false,'' disables the use of the \fBunsecureGreeting\fP
+in the login window.
+See the section \fBAuthentication Widget.\fP
+The default is ``true.''
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.resetSignal\fP"
+The number of the signal \fIxdm\fP sends to reset the server.
+See the section \fBControlling the Server.\fP
+The default is 1 (SIGHUP).
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.termSignal\fP"
+The number of the signal \fIxdm\fP sends to terminate the server.
+See the section \fBControlling the Server.\fP
+The default is 15 (SIGTERM).
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.resetForAuth\fP"
+The original implementation of authorization in the sample server reread the
+authorization file at server reset time, instead of when checking the
+initial connection. As
+.I xdm
+generates the authorization information just before connecting to the
+display, an old server would not get up-to-date authorization information.
+This resource causes
+.I xdm
+to send SIGHUP to the server after setting up the file, causing an
+additional server reset to occur, during which time the new authorization
+information will be read.
+The default is ``false,'' which will work for all MIT servers.
+.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.userAuthDir\fP"
+When
+.I xdm
+is unable to write to the usual user authorization file ($HOME/.Xauthority),
+it creates a unique file name in this directory and points the environment
+variable XAUTHORITY at the created file. It uses \fI/tmp\fP by default.
+.SH "CONFIGURATION FILE"
+First, the
+.I xdm
+configuration file should be set up.
+Make a directory (usually \fI XDMDIR\fP) to contain all
+of the relevant files.
+.LP
+Here is a reasonable configuration file, which could be
+named \fIxdm-config\fP:
+.nf
+
+.ta .5i 4i
+
+ DisplayManager.servers: XDMDIR/Xservers
+ DisplayManager.errorLogFile: XDMLOGDIR/xdm.log
+ DisplayManager*resources: XDMDIR/Xresources
+ DisplayManager*startup: XDMDIR/Xstartup
+ DisplayManager*session: XDMDIR/Xsession
+ DisplayManager.pidFile: XDMPIDDIR/xdm-pid
+ DisplayManager._0.authorize: true
+ DisplayManager*authorize: false
+
+.fi
+.PP
+Note that this file mostly contains references to other files. Note also
+that some of the resources are specified with ``*'' separating the
+components. These resources can be made unique for each different display,
+by replacing the ``*'' with the display-name, but normally this is not very
+useful. See the \fBResources\fP section for a complete discussion.
+.SH "XDMCP ACCESS CONTROL"
+.PP
+The database file specified by the \fBDisplayManager.accessFile\fP provides
+information which
+.I xdm
+uses to control access from displays requesting XDMCP service. This file
+contains three types of entries: entries which control the response to
+Direct and Broadcast queries, entries which control the response to
+Indirect queries, and macro definitions.
+.PP
+The format of the Direct entries is simple, either a host name or a
+pattern, which is distinguished from a host name by the inclusion of
+one or more meta characters (`*' matches any sequence of 0 or more
+characters, and `?' matches any single character) which are compared against
+the host name of the display device.
+If the entry is a host name, all comparisons are done using
+network addresses, so any name which converts to the correct network address
+may be used.
+For patterns, only canonical host names are used
+in the comparison, so ensure that you do not attempt to match
+aliases.
+Preceding either a host name or a pattern with a `!' character
+causes hosts which
+match that entry to be excluded.
+.PP
+To only respond to Direct queries for a host or pattern,
+it can be followed by the optional ``NOBROADCAST'' keyword.
+This can be used to prevent an xdm server from appearing on
+menus based on Broadcast queries.
+.PP
+An Indirect entry also contains a host name or pattern,
+but follows it with a list of
+host names or macros to which indirect queries should be sent.
+.PP
+A macro definition contains a macro name and a list of host names and
+other macros that
+the macro expands to. To distinguish macros from hostnames, macro
+names start with a `%' character. Macros may be nested.
+.PP
+Indirect entries
+may also specify to have \fIxdm\fP run \fIchooser\fP to offer a menu
+of hosts to connect to. See the section \fBChooser\fP.
+.PP
+When checking access for a particular display host, each entry is scanned in
+turn and the first matching entry determines the response. Direct and
+Broadcast
+entries are ignored when scanning for an Indirect entry and vice-versa.
+.PP
+Blank lines are ignored, `#' is treated as a comment
+delimiter causing the rest of that line to be ignored,
+and `\e\fInewline\fP'
+causes the newline to be ignored, allowing indirect host lists to span
+multiple lines.
+.PP
+Here is an example Xaccess file:
+.LP
+.ta 2i 4i
+.nf
+#
+# Xaccess \- XDMCP access control file
+#
+
+#
+# Direct/Broadcast query entries
+#
+
+!xtra.lcs.mit.edu # disallow direct/broadcast service for xtra
+bambi.ogi.edu # allow access from this particular display
+*.lcs.mit.edu # allow access from any display in LCS
+
+*.deshaw.com NOBROADCAST # allow only direct access
+*.gw.com # allow direct and broadcast
+
+#
+# Indirect query entries
+#
+
+%HOSTS expo.lcs.mit.edu xenon.lcs.mit.edu \\
+ excess.lcs.mit.edu kanga.lcs.mit.edu
+
+extract.lcs.mit.edu xenon.lcs.mit.edu #force extract to contact xenon
+!xtra.lcs.mit.edu dummy #disallow indirect access
+*.lcs.mit.edu %HOSTS #all others get to choose
+.fi
+.PP
+If compiled with IPv6 support, multicast address groups may also be included
+in the list of addresses indirect queries are set to. Multicast addresses
+may be followed by an optional / character and hop count. If no hop count is
+specified, the multicast hop count defaults to 1, keeping the packet on the
+local network. For IPv4 multicasting, the hop count is used as the TTL.
+.PP
+Examples:
+.LP
+.ta 2.1i 4.5i
+.nf
+rincewind.sample.net ff02::1 #IPv6 Multicast to ff02::1
+\& #with a hop count of 1
+ponder.sample.net CHOOSER 239.192.1.1/16 #Offer a menu of hosts
+\& #who respond to IPv4 Multicast
+\& # to 239.192.1.1 with a TTL of 16
+.fi
+.SH CHOOSER
+.PP
+For X terminals that do not offer a host menu for use with Broadcast
+or Indirect queries, the \fIchooser\fP program can do this for them.
+In the \fIXaccess\fP file, specify ``CHOOSER'' as the first entry in
+the Indirect host list. \fIChooser\fP will send a Query request to
+each of the remaining host names in the list and offer a menu of all
+the hosts that respond.
+.PP
+The list may consist of the word ``BROADCAST,'' in which case
+\fIchooser\fP will send a Broadcast instead, again offering a menu of
+all hosts that respond. Note that on some operating systems, UDP
+packets cannot be broadcast, so this feature will not work.
+.PP
+Example \fIXaccess\fP file using \fIchooser\fP:
+
+.nf
+extract.lcs.mit.edu CHOOSER %HOSTS #offer a menu of these hosts
+xtra.lcs.mit.edu CHOOSER BROADCAST #offer a menu of all hosts
+.fi
+.PP
+The program to use for \fIchooser\fP is specified by the
+\fBDisplayManager.\fP\fIDISPLAY\fP\fB.chooser\fP resource. For more
+flexibility at this step, the chooser could be a shell script.
+\fIChooser\fP is the session manager here; it is run instead of a
+child \fIxdm\fP to manage the display.
+.PP
+Resources for this program
+can be put into the file named by
+\fBDisplayManager.\fP\fIDISPLAY\fP\fB.resources\fP.
+.PP
+When the user selects a host, \fIchooser\fP prints the host chosen,
+which is read by the parent \fIxdm\fP, and exits.
+\fIxdm\fP closes its connection to the X server, and the server resets
+and sends another \fBIndirect\fP XDMCP request.
+\fIxdm\fP remembers the user's choice (for
+\fBDisplayManager.choiceTimeout\fP seconds) and forwards the request
+to the chosen host, which starts a session on that display.
+.\"
+.SH LISTEN
+The following configuration directive is also defined for the Xaccess
+configuration file:
+.IP "\fBLISTEN\fP \fIinterface\fP \fI[list of multicast group addresses]\fP"
+\fIinterface\fP may be a hostname or IP address representing a
+network interface on this machine, or the wildcard * to represent all
+available network interfaces.
+.PP
+If one or more LISTEN lines are specified, xdm only listens for XDMCP
+connections on the specified interfaces. If multicast group addresses
+are listed on a listen line, xdm joins the multicast groups on the
+given interface.
+.PP
+If no LISTEN lines are given, the original behavior of listening on
+all interfaces is preserved for backwards compatibility.
+Additionally, if no LISTEN is specified, xdm joins the default XDMCP
+IPv6 multicast group, when compiled with IPv6 support.
+.PP
+To disable listening for XDMCP connections altogther, a line of LISTEN
+with no addresses may be specified, or the previously supported method
+of setting DisplayManager.requestPort to 0 may be used.
+.PP
+Examples:
+.ta 2i 4i
+.nf
+LISTEN * ff02::1 # Listen on all interfaces and to the
+\& # ff02::1 IPv6 multicast group.
+LISTEN 10.11.12.13 # Listen only on this interface, as long
+\& # as no other listen directives appear in
+\& # file.
+.fi
+.SH "IPv6 MULTICAST ADDRESS SPECIFICATION"
+.PP
+The Internet Assigned Numbers Authority has has assigned
+ff0\fIX\fP:0:0:0:0:0:0:12b as the permanently assigned range of
+multicast addresses for XDMCP. The \fIX\fP in the prefix may be replaced
+by any valid scope identifier, such as 1 for Interface-Local, 2 for Link-Local,
+5 for Site-Local, and so on. (See IETF RFC 4291 or its replacement for
+further details and scope definitions.) xdm defaults to listening on the
+Link-Local scope address ff02:0:0:0:0:0:0:12b to most closely match the
+old IPv4 subnet broadcast behavior.
+.SH "LOCAL SERVER SPECIFICATION"
+.PP
+The resource \fBDisplayManager.servers\fP gives a server specification
+or, if the values starts with a slash (/), the name of a file
+containing server specifications, one per line.
+.PP
+Each specification
+indicates a display which should constantly be managed and which is
+not using XDMCP.
+This method is used typically for local servers only. If the resource
+or the file named by the resource is empty, \fIxdm\fP will offer XDMCP
+service only.
+.PP
+Each specification consists of at least three parts: a display
+name, a display class, a display type, and (for local servers) a command
+line to start the server. A typical entry for local display number 0 would
+be:
+.nf
+
+ :0 Digital-QV local BINDIR/X :0
+
+.fi
+The display types are:
+.ta 1i
+.nf
+
+local local display: \fIxdm\fP must run the server
+foreign remote display: \fIxdm\fP opens an X connection to a running server
+
+.fi
+.PP
+The display name must be something that can be passed in the \fB\-display\fP
+option to an X program. This string is used to generate the display-specific
+resource names, so be careful to match the
+names (e.g., use ``:0 Sun-CG3 local BINDIR/X :0'' instead of
+``localhost:0 Sun-CG3 local BINDIR/X :0''
+if your other resources are specified as
+``DisplayManager._0.session''). The display class portion is also used in the
+display-specific resources, as the class of the resource. This is
+useful if you have a large collection of similar displays (such as a corral of
+X terminals) and would like to set resources for groups of them. When using
+XDMCP, the display is required to specify the display class, so the manual
+for your particular X terminal should document the display class
+string for your device. If it doesn't, you can run
+.I xdm
+in debug mode and
+look at the resource strings which it generates for that device, which will
+include the class string.
+.PP
+When \fIxdm\fP starts a session, it sets up authorization data for the
+server. For local servers, \fIxdm\fP passes
+``\fB\-auth\fP \fIfilename\fP'' on the server's command line to point
+it at its authorization data.
+For XDMCP servers, \fIxdm\fP passes the
+authorization data to the server via the \fBAccept\fP XDMCP request.
+.SH RESOURCES FILE
+The \fIXresources\fP file is
+loaded onto the display as a resource database using
+.I xrdb.
+As the authentication
+widget reads this database before starting up, it usually contains
+parameters for that widget:
+.nf
+.ta .5i 1i
+
+ xlogin*login.translations: #override\\
+ Ctrl<Key>R: abort-display()\\n\\
+ <Key>F1: set-session-argument(failsafe) finish-field()\\n\\
+ <Key>Return: set-session-argument() finish-field()
+ xlogin*borderWidth: 3
+ xlogin*greeting: CLIENTHOST
+\& #ifdef COLOR
+ xlogin*greetColor: CadetBlue
+ xlogin*failColor: red
+\& #endif
+
+.fi
+.PP
+Please note the translations entry; it specifies
+a few new translations for the widget which allow users to escape from the
+default session (and avoid troubles that may occur in it). Note that if
+\&#override is not specified, the default translations are removed and replaced
+by the new value, not a very useful result as some of the default translations
+are quite useful (such as ``<Key>: insert-char ()'' which responds to normal
+typing).
+.PP
+This file may also contain resources for the setup program and \fIchooser\fP.
+.SH "SETUP PROGRAM"
+The \fIXsetup\fP file is run after
+the server is reset, but before the Login window is offered.
+The file is typically a shell script.
+It is run as root, so should be careful about security.
+This is the place to change the root background or bring up other
+windows that should appear on the screen along with the Login widget.
+.PP
+In addition to any specified by \fBDisplayManager.exportList\fP,
+the following environment variables are passed:
+.nf
+.ta .5i 2i
+
+ DISPLAY the associated display name
+ PATH the value of \fBDisplayManager.\fP\fIDISPLAY\fP\fB.systemPath\fP
+ SHELL the value of \fBDisplayManager.\fP\fIDISPLAY\fP\fB.systemShell\fP
+ XAUTHORITY may be set to an authority file
+.fi
+.PP
+Note that since \fIxdm\fP grabs the keyboard, any other windows will not be
+able to receive keyboard input. They will be able to interact with
+the mouse, however; beware of potential security holes here.
+If \fBDisplayManager.\fP\fIDISPLAY\fP\fB.grabServer\fP is set,
+\fIXsetup\fP will not be able to connect
+to the display at all.
+Resources for this program
+can be put into the file named by
+\fBDisplayManager.\fP\fIDISPLAY\fP\fB.resources\fP.
+.PP
+Here is a sample \fIXsetup\fP script:
+.nf
+
+\& #!/bin/sh
+\& # Xsetup_0 \- setup script for one workstation
+ xcmsdb < XDMDIR/monitors/alex.0
+ xconsole\0\-geometry\0480x130\-0\-0\0\-notify\0\-verbose\0\-exitOnFail &
+
+.fi
+.SH "AUTHENTICATION WIDGET"
+The authentication widget prompts the user for the username, password, and/or
+other required authentication data from the keyboard. Nearly every imaginable
+parameter can be controlled with a resource. Resources for this widget
+should be put into the file named by
+\fBDisplayManager.\fP\fIDISPLAY\fP\fB.resources\fP. All of these have reasonable
+default values, so it is not necessary to specify any of them.
+.PP
+The resource file is loaded with
+.IR xrdb (__appmansuffix__)
+so it may use the substitutions defined by that program such as CLIENTHOST
+for the client hostname in the login message, or C pre-processor #ifdef
+statements to produce different displays depending on color depth or other
+variables.
+.PP
+.I Xdm
+can be compiled with support for the
+.IR Xft (__libmansuffix__)
+library for font rendering. If this support is present, font faces are
+specified using the resources with names ending in ``face'' in the
+fontconfig face format described in the
+.I Font Names
+section of
+.IR fonts.conf (__filemansuffix__).
+If not, then fonts are specified using the resources with names ending
+in ``font'' in the traditional
+.I X Logical Font Description
+format described in the
+.I Font Names
+section of
+.IR X (__miscmansuffix__).
+.IP "\fBxlogin.Login.width, xlogin.Login.height, xlogin.Login.x, xlogin.Login.y\fP"
+The geometry of the Login widget is normally computed automatically. If you
+wish to position it elsewhere, specify each of these resources.
+.IP "\fBxlogin.Login.foreground\fP"
+The color used to display the input typed by the user.
+.IP "\fBxlogin.Login.face\fP"
+The face used to display the input typed by the user when built with Xft
+support. The default is ``Serif-18''.
+.IP "\fBxlogin.Login.font\fP"
+The font used to display the input typed by the user when not built with Xft
+support.
+.IP "\fBxlogin.Login.greeting\fP"
+A string which identifies this window.
+The default is ``X Window System.''
+.IP "\fBxlogin.Login.unsecureGreeting\fP"
+When X authorization is requested in the configuration file for this
+display and none is in use, this greeting replaces the standard
+greeting. The default is ``This is an unsecure session''
+.IP "\fBxlogin.Login.greetFace\fP"
+The face used to display the greeting when built with Xft support.
+The default is ``Serif-24:italic''.
+.IP "\fBxlogin.Login.greetFont\fP"
+The font used to display the greeting when not built with Xft support.
+.IP "\fBxlogin.Login.greetColor\fP"
+The color used to display the greeting.
+.IP "\fBxlogin.Login.namePrompt\fP"
+The string displayed to prompt for a user name.
+.I Xrdb
+strips trailing white space from resource values, so to add spaces at
+the end of the prompt (usually a nice thing), add spaces escaped with
+backslashes. The default is ``Login: ''
+.IP "\fBxlogin.Login.passwdPrompt\fP"
+The string displayed to prompt for a password, when not using an authentication
+system such as PAM that provides its own prompts.
+The default is ``Password: ''
+.IP "\fBxlogin.Login.promptFace\fP"
+The face used to display prompts when built with Xft support.
+The default is ``Serif-18:bold''.
+.IP "\fBxlogin.Login.promptFont\fP"
+The font used to display prompts when not built with Xft support.
+.IP "\fBxlogin.Login.promptColor\fP"
+The color used to display prompts.
+.IP "\fBxlogin.Login.changePasswdMessage\fP"
+A message which is displayed when the users password has expired.
+The default is ``Password Change Required''
+.IP "\fBxlogin.Login.fail\fP"
+A message which is displayed when the authentication fails, when not using an
+authentication system such as PAM that provides its own prompts.
+The default is ``Login incorrect''
+.IP "\fBxlogin.Login.failFace\fP"
+The face used to display the failure message when built with Xft support.
+The default is ``Serif-18:bold''.
+.IP "\fBxlogin.Login.failFont\fP"
+The font used to display the failure message when not built with Xft support.
+.IP "\fBxlogin.Login.failColor\fP"
+The color used to display the failure message.
+.IP "\fBxlogin.Login.failTimeout\fP"
+The number of seconds that the failure message is displayed.
+The default is 10.
+.IP "\fBxlogin.Login.logoFileName\fP"
+Name of an XPM format pixmap to display in the greeter window, if built with
+XPM support. The default is no pixmap.
+.IP "\fBxlogin.Login.logoPadding\fP"
+Number of pixels of space between the logo pixmap and other elements of the
+greeter window, if the pixmap is displayed.
+The default is 5.
+.IP "\fBxlogin.Login.useShape\fP"
+If set to ``true'', when built with XPM support, attempt to use the
+X Non-Rectangular Window Shape Extension to set the window shape.
+The default is ``true''.
+.IP "\fBxlogin.Login.hiColor\fP, \fBxlogin.Login.shdColor\fP"
+Raised appearance bezels may be drawn around
+the greeter frame and text input boxes by setting these resources. hiColor
+is the highlight color, used on the top and left sides of the frame, and the
+bottom and right sides of text input areas. shdColor is the shadow color,
+used on the bottom and right sides of the frame, and the top and left sides
+of text input areas.
+The default for both is the foreground color, providing a flat appearance.
+.IP "\fBxlogin.Login.frameWidth\fP"
+frameWidth is the width in pixels of the area
+around the greeter frame drawn in hiColor and shdColor.
+.IP "\fBxlogin.Login.innerFramesWidth\fP"
+innerFramesWidth is the width in pixels of the
+area around text input areas drawn in hiColor and shdColor.
+.IP "\fBxlogin.Login.sepWidth\fP"
+sepWidth is the width in pixels of the
+bezeled line between the greeting and input areas
+drawn in hiColor and shdColor.
+.IP "\fBxlogin.Login.allowRootLogin\fP"
+If set to ``false'', don't allow root (and any other user with uid = 0) to
+log in directly.
+The default is ``true''.
+This setting is only checked by some of the authentication backends at this
+time.
+.IP "\fBxlogin.Login.allowNullPasswd\fP"
+If set to ``true'', allow an otherwise failing password match to succeed
+if the account does not require a password at all.
+The default is ``false'', so only users that have passwords assigned can
+log in.
+.IP "\fBxlogin.Login.echoPasswd\fP"
+If set to ``true'', a placeholder character (echoPasswdChar) will be shown
+for fields normally set to not echo, such as password input.
+The default is ``false''.
+.IP "\fBxlogin.Login.echoPasswdChar\fP"
+Character to display if echoPasswd is true. The default is ``*''.
+If set to an empty value, the cursor will advance for each character input,
+but no text will be drawn.
+.IP "\fBxlogin.Login.translations\fP"
+This specifies the translations used for the login widget. Refer to the X
+Toolkit documentation for a complete discussion on translations. The default
+translation table is:
+.nf
+.ta .5i 2i
+
+ Ctrl<Key>H: delete-previous-character() \\n\\
+ Ctrl<Key>D: delete-character() \\n\\
+ Ctrl<Key>B: move-backward-character() \\n\\
+ Ctrl<Key>F: move-forward-character() \\n\\
+ Ctrl<Key>A: move-to-begining() \\n\\
+ Ctrl<Key>E: move-to-end() \\n\\
+ Ctrl<Key>K: erase-to-end-of-line() \\n\\
+ Ctrl<Key>U: erase-line() \\n\\
+ Ctrl<Key>X: erase-line() \\n\\
+ Ctrl<Key>C: restart-session() \\n\\
+ Ctrl<Key>\\\\: abort-session() \\n\\
+ <Key>BackSpace: delete-previous-character() \\n\\
+ <Key>Delete: delete-previous-character() \\n\\
+ <Key>Return: finish-field() \\n\\
+ <Key>: insert-char() \\
+
+.fi
+.PP
+The actions which are supported by the widget are:
+.IP "delete-previous-character"
+Erases the character before the cursor.
+.IP "delete-character"
+Erases the character after the cursor.
+.IP "move-backward-character"
+Moves the cursor backward.
+.IP "move-forward-character"
+Moves the cursor forward.
+.IP "move-to-begining"
+(Apologies about the spelling error.)
+Moves the cursor to the beginning of the editable text.
+.IP "move-to-end"
+Moves the cursor to the end of the editable text.
+.IP "erase-to-end-of-line"
+Erases all text after the cursor.
+.IP "erase-line"
+Erases the entire text.
+.IP "finish-field"
+If the cursor is in the name field, proceeds to the password field; if the
+cursor is in the password field, checks the current name/password pair. If
+the name/password pair is valid, \fIxdm\fP
+starts the session. Otherwise the failure message is displayed and
+the user is prompted again.
+.IP "abort-session"
+Terminates and restarts the server.
+.IP "abort-display"
+Terminates the server, disabling it. This action
+is not accessible in the default configuration.
+There are various reasons to stop \fIxdm\fP on a system console, such as
+when shutting the system down, when using \fIxdmshell\fP,
+to start another type of server, or to generally access the console.
+Sending \fIxdm\fP a SIGHUP will restart the display. See the section
+\fBControlling XDM\fP.
+.IP "restart-session"
+Resets the X server and starts a new session. This can be used when
+the resources have been changed and you want to test them or when
+the screen has been overwritten with system messages.
+.IP "insert-char"
+Inserts the character typed.
+.IP "set-session-argument"
+Specifies a single word argument which is passed to the session at startup.
+See the section \fBSession Program\fP.
+.IP "allow-all-access"
+Disables access control in the server. This can be used when
+the .Xauthority file cannot be created by
+.I xdm.
+Be very careful using this;
+it might be better to disconnect the machine from the network
+before doing this.
+.PP
+On some systems (OpenBSD) the user's shell must be listed in
+.I /etc/shells
+to allow login through xdm. The normal password and account expiration
+dates are enforced too.
+.SH "STARTUP PROGRAM"
+.PP
+The \fIXstartup\fP program is run as
+root when the user logs in.
+It is typically a shell script.
+Since it is run as root, \fIXstartup\fP should be
+very careful about security. This is the place to put commands which add
+entries to \fIutmp\fP or \fIwtmp\fP files,
+(the \fIsessreg\fP program may be useful here),
+mount users' home directories from file servers,
+or abort the session if logins are not
+allowed.
+.PP
+In addition to any specified by \fBDisplayManager.exportList\fP,
+the following environment variables are passed:
+.nf
+.ta .5i 2i
+
+ DISPLAY the associated display name
+ HOME the initial working directory of the user
+ LOGNAME the user name
+ USER the user name
+ PATH the value of \fBDisplayManager.\fP\fIDISPLAY\fP\fB.systemPath\fP
+ SHELL the value of \fBDisplayManager.\fP\fIDISPLAY\fP\fB.systemShell\fP
+ XAUTHORITY may be set to an authority file
+ WINDOWPATH may be set to the "window path" leading to the X server
+
+.fi
+.PP
+No arguments are passed to the script.
+.I Xdm
+waits until this script exits before starting the user session. If the
+exit value of this script is non-zero,
+.I xdm
+discontinues the session and starts another authentication
+cycle.
+.PP
+The sample \fIXstartup\fP file shown here prevents login while the
+file \fI/etc/nologin\fP
+exists.
+Thus this is not a complete example, but
+simply a demonstration of the available functionality.
+.PP
+Here is a sample \fIXstartup\fP script:
+.nf
+.ta .5i 1i
+
+\& #!/bin/sh
+\& #
+\& # Xstartup
+\& #
+\& # This program is run as root after the user is verified
+\& #
+ if [ \-f /etc/nologin ]; then
+ xmessage\0\-file /etc/nologin\0\-timeout 30\0\-center
+ exit 1
+ fi
+ sessreg\0\-a\0\-l $DISPLAY\0\-x XDMDIR/Xservers $LOGNAME
+ XDMDIR/GiveConsole
+ exit 0
+.fi
+.SH "SESSION PROGRAM"
+.PP
+The \fIXsession\fP program is the command which is run as the user's session.
+It is run with
+the permissions of the authorized user.
+.PP
+In addition to any specified by \fBDisplayManager.exportList\fP,
+the following environment variables are passed:
+.nf
+.ta .5i 2i
+
+ DISPLAY the associated display name
+ HOME the initial working directory of the user
+ LOGNAME the user name
+ USER the user name
+ PATH the value of \fBDisplayManager.\fP\fIDISPLAY\fP\fB.userPath\fP
+ SHELL the user's default shell (from \fIgetpwnam\fP)
+ XAUTHORITY may be set to a non-standard authority file
+ KRB5CCNAME may be set to a Kerberos credentials cache name
+ WINDOWPATH may be set to the "window path" leading to the X server
+
+.fi
+.PP
+At most installations, \fIXsession\fP should look in $HOME for
+a file \fI\.xsession,\fP
+which contains commands that each user would like to use as a session.
+\fIXsession\fP should also
+implement a system default session if no user-specified session exists.
+.PP
+An argument may be passed to this program from the authentication widget
+using the `set-session-argument' action. This can be used to select
+different styles of session. One good use of this feature is to allow
+the user to escape from the ordinary session when it fails. This
+allows users to repair their own \fI.xsession\fP if it fails,
+without requiring administrative intervention.
+The example following
+demonstrates this feature.
+.PP
+This example recognizes
+the special
+``failsafe'' mode, specified in the translations
+in the \fIXresources\fP file, to provide an escape
+from the ordinary session. It also requires that the .xsession file
+be executable so we don't have to guess what shell it wants to use.
+.nf
+.ta .5i 1i 1.5i
+
+\& #!/bin/sh
+\& #
+\& # Xsession
+\& #
+\& # This is the program that is run as the client
+\& # for the display manager.
+
+ case $# in
+ 1)
+ case $1 in
+ failsafe)
+ exec xterm \-geometry 80x24\-0\-0
+ ;;
+ esac
+ esac
+
+ startup=$HOME/.xsession
+ resources=$HOME/.Xresources
+
+ if [ \-f "$startup" ]; then
+ exec "$startup"
+ else
+ if [ \-f "$resources" ]; then
+ xrdb \-load "$resources"
+ fi
+ twm &
+ xman \-geometry +10\-10 &
+ exec xterm \-geometry 80x24+10+10 \-ls
+ fi
+
+.fi
+.PP
+The user's \fI.xsession\fP file might look something like this
+example. Don't forget that the file must have execute permission.
+.nf
+\& #! /bin/csh
+\& # no \-f in the previous line so .cshrc gets run to set $PATH
+ twm &
+ xrdb \-merge "$HOME/.Xresources"
+ emacs \-geometry +0+50 &
+ xbiff \-geometry \-430+5 &
+ xterm \-geometry \-0+50 -ls
+.fi
+.SH "RESET PROGRAM"
+.PP
+Symmetrical with \fIXstartup\fP,
+the \fIXreset\fP script is run after the user session has
+terminated. Run as root, it should contain commands that undo
+the effects of commands in \fIXstartup,\fP updating entries
+in \fIutmp\fP or \fIwtmp\fP files,
+or unmounting directories from file servers. The environment
+variables that were passed to \fIXstartup\fP are also
+passed to \fIXreset\fP.
+.PP
+A sample \fIXreset\fP script:
+.nf
+.ta .5i 1i
+\& #!/bin/sh
+\& #
+\& # Xreset
+\& #
+\& # This program is run as root after the session ends
+\& #
+ sessreg\0\-d\0\-l $DISPLAY\0\-x XDMDIR/Xservers $LOGNAME
+ XDMDIR/TakeConsole
+ exit 0
+.fi
+.SH "CONTROLLING THE SERVER"
+.I Xdm
+controls local servers using POSIX signals. SIGHUP is expected to reset the
+server, closing all client connections and performing other cleanup
+duties. SIGTERM is expected to terminate the server.
+If these signals do not perform the expected actions,
+the resources \fBDisplayManager.\fP\fIDISPLAY\fP\fB.resetSignal\fP and
+\fBDisplayManager.\fP\fIDISPLAY\fP\fB.termSignal\fP can specify alternate signals.
+.PP
+To control remote terminals not using XDMCP,
+.I xdm
+searches the window hierarchy on the display and uses the protocol request
+KillClient in an attempt to clean up the terminal for the next session. This
+may not actually kill all of the clients, as only those which have created
+windows will be noticed. XDMCP provides a more sure mechanism; when
+.I xdm
+closes its initial connection, the session is over and the terminal is
+required to close all other connections.
+.SH "CONTROLLING XDM"
+.PP
+.I Xdm
+responds to two signals: SIGHUP and SIGTERM. When sent a SIGHUP,
+.I xdm
+rereads the configuration file, the access control file, and the servers
+file. For the servers file, it notices if entries have been added or
+removed. If a new entry has been added,
+.I xdm
+starts a session on the associated display. Entries which have been removed
+are disabled immediately, meaning that any session in progress will be
+terminated without notice and no new session will be started.
+.PP
+When sent a SIGTERM,
+.I xdm
+terminates all sessions in progress and exits. This can be used when
+shutting down the system.
+.PP
+.I Xdm
+attempts to mark its various sub-processes for
+.IR ps (__appmansuffix__)
+by editing the
+command line argument list in place. Because
+.I xdm
+can't allocate additional
+space for this task, it is useful to start
+.I xdm
+with a reasonably long
+command line (using the full path name should be enough).
+Each process which is
+servicing a display is marked \fB\-\fP\fIdisplay.\fP
+.SH "ADDITIONAL LOCAL DISPLAYS"
+.PP
+To add an additional local display, add a line for it to the
+\fIXservers\fP file.
+(See the section \fBLocal Server Specification\fP.)
+.PP
+Examine the display-specific resources in \fIxdm-config\fP
+(e.g., \fBDisplayManager._0.authorize\fP)
+and consider which of them should be copied for the new display.
+The default \fIxdm-config\fP has all the appropriate lines for
+displays \fB:0\fP and \fB:1\fP.
+.SH "OTHER POSSIBILITIES"
+.PP
+You can use \fIxdm\fP
+to run a single session at a time, using the 4.3 \fIinit\fP
+options or other suitable daemon by specifying the server on the command
+line:
+.nf
+.ta .5i
+
+ xdm \-server \(lq:0 SUN-3/60CG4 local BINDIR/X :0\(rq
+
+.fi
+.PP
+Or, you might have a file server and a collection of X terminals. The
+configuration for this is identical to the sample above,
+except the \fIXservers\fP file would look like
+.nf
+.ta .5i
+
+ extol:0 VISUAL-19 foreign
+ exalt:0 NCD-19 foreign
+ explode:0 NCR-TOWERVIEW3000 foreign
+
+.fi
+.PP
+This directs
+.I xdm
+to manage sessions on all three of these terminals. See the section
+\fBControlling Xdm\fP for a description of using signals to enable
+and disable these terminals in a manner reminiscent of
+.IR init (__adminmansuffix__).
+.SH LIMITATIONS
+One thing that
+.I xdm
+isn't very good at doing is coexisting with other window systems. To use
+multiple window systems on the same hardware, you'll probably be more
+interested in
+.I xinit.
+.SH FILES
+.TP 20
+.I XDMDIR/xdm-config
+the default configuration file
+.TP 20
+.I $HOME/.Xauthority
+user authorization file where \fIxdm\fP stores keys for clients to read
+.TP 20
+.I CHOOSERPATH
+the default chooser
+.TP 20
+.I BINDIR/xrdb
+the default resource database loader
+.TP 20
+.I BINDIR/X
+the default server
+.TP 20
+.I BINDIR/xterm
+the default session program and failsafe client
+.TP 20
+.I XDMXAUTHDIR/A<display>\-<suffix>
+the default place for authorization files
+.TP 20
+.I /tmp/K5C<display>
+Kerberos credentials cache
+.SH "SEE ALSO"
+.IR X (__miscmansuffix__),
+.IR xinit (__appmansuffix__),
+.IR xauth (__appmansuffix__),
+.IR xrdb (__appmansuffix__),
+.IR Xsecurity (__miscmansuffix__),
+.IR sessreg (__appmansuffix__),
+.IR Xserver (__appmansuffix__),
+.\" .IR chooser (__appmansuffix__), \" except that there isn't a manual for it yet
+.IR xdmshell (__appmansuffix__),
+.IR fonts.conf (__filemansuffix__).
+.br
+.I "X Display Manager Control Protocol"
+.br
+.RI "IETF RFC 4291: " "IP Version 6 Addressing Architecture" .
+.SH AUTHOR
+Keith Packard, MIT X Consortium
diff --git a/app/xdm/man/xdmshell.man b/app/xdm/man/xdmshell.man
new file mode 100644
index 000000000..8f27193cb
--- /dev/null
+++ b/app/xdm/man/xdmshell.man
@@ -0,0 +1,108 @@
+.\" Copyright 1989 The Open Group
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation.
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of The Open Group shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from The Open Group.
+.\"
+.\" Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.\"
+.TH XDMSHELL __appmansuffix__ __xorgversion__
+.SH NAME
+xdmshell \- shell for starting xdm on login
+.SH SYNOPSIS
+.B BINDIR/xdmshell
+.SH DESCRIPTION
+.I Xdmshell
+can be used on systems that are configured to start a console in text mode by
+default, to allow users to start the X display manager by logging in as a
+special user with the shell set to the xdmshell program.
+.LP
+Many servers set the keyboard to do non-blocking I/O under the assumption that
+they are the only programs attempting to read from the keyboard.
+Unfortunately, some versions of \fIgetty\fP(__adminmansuffix__) will
+immediately see a continuous stream of zero-length reads which they interpret
+as end-of-file indicators. Eventually, \fIinit\fP(__adminmansuffix__) will
+disable logins on that line until somebody types the following as root:
+.RS
+\# kill -HUP 1
+.RE
+.LP
+On some platforms, one alternative is to disable logins on the console
+and always run \fIxdm\fP(__appmansuffix__) from \fI/etc/inittab\fP.
+.LP
+Another approach is to set up an account whose shell is the \fIxdmshell\fP
+program found in the xdm distribution. This program is not installed by
+default so that site administrators will examine it to see if it meets their
+needs. The \fIxdmshell\fP utility makes sure that it is being run from the
+appropriate type of terminal, starts \fIxdm\fP, waits for it to finish, and
+then resets the console if necessary. If the \fIxdm\fP resources file
+(specified by the \fIDisplayManager*resources\fP entry in the
+\fIxdm-config\fP file) contains a binding to the \fIabort-display\fP action
+similar to the following
+.RS
+xlogin*login.translations: #override Ctrl<Key>R: abort-display()
+.RE
+the console can then by restored by pressing the indicated key
+(Control-R in the above example) in the \fIxdm\fP login window.
+.LP
+.ne 10
+The \fIxdmshell\fP program is usually
+installed setuid to root but executable only by members of a special group,
+of which the only member is the account which has \fIxdmshell\fP as its shell:
+.RS
+.nf
+% grep xdm /etc/passwd
+x::101:51:Account for starting up X:/tmp:BINDIR/xdmshell
+% grep 51 /etc/group
+xdmgrp:*:51:
+% ls -lg BINDIR/xdmshell
+-rws--x--- 1 root xdmgrp 20338 Nov 1 01:32 BINDIR/xdmshell
+.fi
+.RE
+.LP
+If the \fIxdm\fP resources have not been configured to have a key bound to
+the \fIabort-display()\fP action, there will be no way for general users to
+login to the console directly. Whether or not this is desirable depends on
+the particular site.
+.SH "SEE ALSO"
+.IR X (__miscmansuffix__),
+.IR xdm (__appmansuffix__),
+.IR xinit (__appmansuffix__)