.\" $Header: /afs/sipb.mit.edu/project/sipb-athena/repository/src/xdm/dm/dm.8,v 1.1 1994/03/17 04:44:17 svalente Exp $
.TH DM 8 "16 November 1990"
.ds ]W MIT Project Athena
.SH NAME
dm \- X display manager
.SH SYNOPSIS
dm \fIconfigfile logintty\fR [-noconsole] \fIconsoletty\fR
.SH DESCRIPTION

\fIDm\fR is intended to be run by \fIinit\fR to startup the X server,
the X console, and X login.  If will read out of the specified config
file the command lines for these three processes.  
.PP
This file consists of lines containing the program name, whitespace,
and the commandline for the program.  The program names recognized are
\fBX, console\fR, and \fBlogin\fR.  Everything from a hash mark to the
end-of-line will be ignored as a comment.
.PP
The X server will be started first, using the SIGUSR1 handshake
present in X11R4.  Then the console will be started, reading from the
master side of the pseudo-tty specified as the \fIlogintty\fR.  If
\fIlogintty\fR is already in use, another pseudo-tty will be chosen.
Then the login will be started, with stdin set to \fI/dev/null\fR and
stdout and stderr set to \fIlogintty\fR.  The display manager then
waits for a change in the status of its children or a signal to
arrive.  If the display manager encounters errors while starting up,
it will initiate a console login.
.PP
If the console exits, another one will be started.  If the X server or
xlogin exit, the display manager will clean up and exit.  If xlogin
exits with status 2, it is requesting that a raw console login be
started.  If the display manager receives SIGFPE, it will kill it's
children and sleep forever (this is a way to shutdown the display
during updates).  If it receives SIGUSR2, this means that xlogin added
a user to /etc/passwd and the display manager should clean that up on
exit.
.PP
If the \fB-noconsole\fR switch is given, it will not do the special
console handling.  This is necessary if more than one display manager
is running on a machine.
.SH FILES
/etc/utmp, /usr/adm/wtmp, /etc/passwd, /etc/ptmp, /usr/tmp/X0.pid,
/etc/athena/console.pid, /etc/athena/dm.pid, /dev/mouse, /dev/cons,
/usr/tmp/console.log, /dev/console

.SH "SEE ALSO"
Xserver(1), console(8), xlogin(8), config_console(1), init(8)

.SH AUTHOR
Mark Rosenstein, MIT Project Athena
.br
Copyright (c) 1990 Massachusetts Institute of Technology

.SH BUGS
Sometimes the console does not revert back to the real console when a
console login is requested.

Sometimes it is necessary to press SHIFT, CONTROL, and/or META before
keys work normally when a console login is requested.
