AddGtkModulesAddGtkModules=false
If true, then enables gdmgreeter/gdmlogin to be launched with
additional Gtk+ modules. This is useful when extra features
are required such as accessible login. Note that only
"trusted" modules should be used to minimize security issues.
Usually this is used for accessibility modules.  The modules
which are loaded are specified with the
GtkModulesList key.
AlwaysRestartServerAlwaysRestartServer=false
If true, then gdm never tries to reuse existing X servers by
reinitializing them.  It will just kill the existing server and
start over.  Normally, just reinitializing is a nicer way to go
but if the X server memory usage keeps growing this may be
a safer option.
AutomaticLoginEnableAutomaticLoginEnable=false
If the user given in AutomaticLogin should be logged in upon
first bootup.  No password will be asked.  This is useful
for single user workstations where local console security
is not an issue.  Also could be useful for public terminals,
although there see TimedLogin.
AutomaticLoginAutomaticLogin=
This user should be automatically logged in on first bootup.
AutomaticLoginEnable must be true and this must be
a valid user for this to happen.  "root" can never be
autologged in however and gdm will just refuse to do it even
if you set it up.
The following control chars are recognized within the
specified name:
the `' character
d  display's name
h  display's hostname
Alternatively, the name may end with a vertical bar |, the
pipe symbol.  The name is then used as a application to execute
which returns the desired username on standard output. If an
empty or otherwise invalid username is returned, automatic
login is not performed. This feature is typically used when
several remote displays are used as internet kiosks, with a
specific user to automatically login for each display.
BaseXsessionBaseXsession=<etc>/gdm/Xsession
This is the base X session file.  When a user logs in, this
script will be run with the selected session as the first
argument.  The selected session will be the
Exec= from the
.desktop file of the session.
If you wish to use the same script for several different
display managers, and wish to have some of the script run only
for GDM, then you can check the presence of the
GDMSESSION environmental variable.  This
will always be set to the basename of
.desktop (without the extension) file that
is being used for this session, and will only be set for GDM
sessions.  Previously some scripts were checking for
GDM_LANG, but that is only set when the
user picks a non-system default language.
This script should take care of doing the "login" for the user
and so it should source the <etc>/profile
and friends.  The standard script shipped with GDM sources
the files in this order: <etc>/profile
then ~/.profile then
<etc>/xprofile and finally
~/.xprofile.  Note that different
distributions may change this however.  Sometimes users
personal setup will be in ~/.bash_profile,
however broken that is.
ChooserChooser=<bin>/gdmchooser
Full path and name of the chooser executable followed by
optional arguments.
ConfiguratorConfigurator=<bin>/gdmsetup --disable-sound --disable-crash-dialog
The pathname to the configurator binary.  If the greeter
ConfigAvailable option is set to true then
run this binary when somebody chooses Configuration from the
Actions menu.  Of course GDM will first ask for root password
however.  And it will never allow this to happen from a remote
display.
ConsoleCannotHandleConsoleCannotHandle=am,ar,az,bn,el,fa,gu,hi,ja,ko,ml,mr,pa,ta,zh
These are the languages that the console cannot handle because
of font issues.  Here we mean the text console, not X.  This
is only used when there are errors to report and we cannot
start X.
ConsoleNotifyConsoleNotify=true
If false, gdm will not display a message dialog on the
console when an error happens.
DefaultPathDefaultPath=/bin:/usr/bin:/usr/bin/X11:/usr/local/bin
Specifies the path which will be set in the user's session.
DefaultSessionDefaultSession=gnome.desktop
The session that is used by default if the user does not have
a saved preference and has picked 'Last' from the list of
sessions.  Note that 'Last' need not be displayed, see
the ShowLastSession key.
DisplayInitDirDisplayInitDir=<etc>/gdm/Init
Directory containing the display init scripts. See the
``The Script Directories'' section for more info.
DisplayLastLoginDisplayLastLogin=true
If true then the last login information is printed to the user
before being prompted for password.  While this gives away some
info on what users are on a system, it on the other hand should
give the user an idea of when they logged in and if it doesn't
seem kosher to them, they can just abort the login and contact
the sysadmin (avoids running malicious startup scripts).
This was added in version 2.5.90.0.
This is for making GDM conformant to CSC-STD-002-85, although
that is purely theoretical now.  Someone should read that spec
and ensure that this actually conforms (in addition to other
places in GDM).  See
http://www.radium.ncsc.mil/tpep/library/rainbow/CSC-STD-002-85.html
for more info.
DoubleLoginWarningDoubleLoginWarning=true
If true, GDM will warn the user if they are already logged in
on another virtual terminal.  On systems where GDM supports
checking the X virtual terminals, GDM will let the user switch
to the previous login virtual terminal instead of logging in.
DynamicXServersDynamicXServers=false
If true, the GDM daemon will honor requests to manage
displays via the /tmp/.gdm_socket
socket connection. Displays can be created, started,
and deleted with the appropriate commands. The
gdmdynamic command is a convenient
method to send these messages.
FailsafeXServerFailsafeXServer=
An X command line in case we can't start the normal X server.
should probably be some sort of a script that runs an
appropriate low resolution server that will just work.
This is tried before the XKeepsCrashing
script is run.
FirstVTFirstVT=7
On systems where GDM supports automatic VT (virtual terminal)
allocation, this is the first vt to try.  Usually standard text
logins are run on the lower vts.  See also
VTAllocation.
FlexibleXServersFlexibleXServers=5
The maximum number of allowed flexible servers.  These are
servers that can be run using the
/tmp/.gdm_socket socket connection.
This is used for both full servers and for Xnest servers.
FlexiReapDelayMinutesFlexiReapDelayMinutes=5
After how many minutes of inactivity at the login screen
should a flexi server be reaped.  This is only in effect before
a user logs in.  Also it does not affect the Xnest
flexiservers.  To turn off this behaviour set this value to 0.
This was added in version 2.5.90.0.
GreeterGreeter=<bin>/gdmlogin
Full path and name of the greeter executable followed by
optional arguments.  This is the greeter used for all servers
except for the XDMCP remote servers.  See also
RemoteGreeterGroupGroup=gdm
The group name under which gdmlogin,
gdmgreeter,
gdmchooser and the internal
failsafe GTK+ dialogs are run.  Also see
User.  This user will have access to all
the X authorization files, and perhaps to other internal GDM
data and it should not therefore be a user such as nobody, but
rather a dedicated user.  The ServAuthDir
is owned by this group.  The ownership and permissions of
ServAuthDir should be
root.gdm and 1770.
GtkModulesListGtkModulesList=module-1:module-2:...
A colon separated list of Gtk+ modules that gdmgreeter/gdmlogin
will be invoked with if AddGtkModules is
true.  The format is the same as the standard Gtk+ module
interface.
HaltCommandHaltCommand=/sbin/shutdown -h now
Full path and arguments to command to be executed when user
selects Shutdown from the Actions menu.  This can be a ';'
separated list of commands to try.  If a value is missing, the
shutdown command is not available.  Note that the default for
this value is not empty so to disable shutdown you must set
this explicitly to an empty value.
KillInitClientsKillInitClients=true
Determines whether GDM should kill X clients started by the
init scripts when the user logs in.
LogDirLogDir=<var>/log/gdm
Directory containing the log files for the individual displays.
By default this is the same as the ServAuthDir.
PidFilePidFile=<var>/run/gdm.pid
Name of the file containing the gdm
process id.
PostLoginScriptDirPostLoginScriptDir=<etc>/gdm/PostLogin
Directory containing the scripts run right after the user logs
in, but before any session setup is done.  See the
``The Script Directories'' section for more info.
PostSessionScriptDirPostSessionScriptDir=<etc>/gdm/PostSession
Directory containing the scripts run after the user logs out.
See the ``The Script Directories'' section for more info.
PreSessionScriptDirPreSessionScriptDir=<etc>/gdm/PreSession
Directory containing the scripts run before the user logs in.
See the ``The Script Directories'' section for more info.
RebootCommandRebootCommand=/sbin/shutdown -r now
Full path and optional arguments to the command to be
executed when user selects Reboot from the Actions menu.  This
can be a ';' separated list of commands to try.  If missing,
the reboot command is not available.  Note that the default for
this value is not empty so to disable reboot you must set this
explicitly to an empty value.
RemoteGreeterRemoteGreeter=<bin>/gdmlogin
Full path and name of the greeter executable followed by
optional arguments.  This is used for all remote XDMCP
sessions.  It is useful to have the less graphically demanding
greeter here if you use the Themed Greeter for your main
greeter.  See also the Greeter key.
RootPathRootPath=/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/local/bin
Specifies the path which will be set in the root's
session and the {Init,PostLogin,PreSession,PostSession} scripts
executed by GDM.
ServAuthDirServAuthDir=<var>/gdm
Directory containing the X authentication files for the
individual displays.  Should be owned by
root.gdm with permissions 1770, where
gdm is the GDM group as defined by the
Group option.  That is should be owned by
root, with gdm group having full write
permissions and the directory should be sticky and others
should have no permission to the directory.  This way the GDM
user can't remove files owned by root in that directory, while
still being able to write its own files there.  GDM will
attempt to change permissions for you when it's first run if
the permissions are not the above.  This directory is also used
for other private files that the daemon needs to store.  Other
users should not have any way to get into this directory and
read/change it's contents.  Anybody who can read this directory
can connect to any display on this computer.
SessionDesktopDirSessionDesktopDir=<etc>/X11/sessions/:<etc>/dm/Sessions/:</usr/share>/xsessions/
Directory containing the .desktop files
which are the available sessions on the system.  Since 2.4.4.2
this is treated like a PATH type variable and the first file
found is used.
SoundProgramSoundProgram=/usr/bin/play
Application to use when playing a sound.  Currently used for
playing the login sound, see the
SoundOnLoginFile key.  Supported since
2.5.90.0.
StandardXServerStandardXServer=/usr/X11R6/bin/X
Full path and arguments to the standard X server command.
This is used when gdm cannot find any other definition,
and it's used as the default and failsafe fallback in a
number of places.  This should be able to run some sort
of X server.
SuspendCommandSuspendCommand=
Full path and arguments to command to be executed when
user selects Suspend from the Actions menu.  If empty
there is no such menu item.  Note that the default for this
value is not empty so to disable suspend you must set this
explicitly to an empty value.
TimedLoginEnableTimedLoginEnable=false
If the user given in TimedLogin should be
logged in after a number of seconds (set with
TimedLoginDelay) of inactivity on the
login screen.  This is useful for public access terminals or
perhaps even home use.  If the user uses the keyboard or
browses the menus, the timeout will be reset to
TimedLoginDelay or 30 seconds, whichever
is higher.  Note that no password will be asked for this user
so you should be careful.
TimedLoginTimedLogin=
This is the user that should be logged in after a specified
number of seconds of inactivity.  This can never be "root"
and gdm will refuse to log in root this way.
The same features as for AutomaticLogin
are supported.  The same control chars and piping to a
application are supported.
TimedLoginDelayTimedLoginDelay=30
This is the delay before the TimedLogin
user will be logged in.  It must be greater then or equal to 10.
UserUser=gdm
The username under which gdmlogin,
gdmgreeter,
gdmchooser and the internal
failsafe GTK+ dialogs are run.  Also see
Group.  This user will have access to all
the X authorization files, and perhaps to other internal GDM
data and it should not therefore be a user such as nobody, but
rather a dedicated user.
UserAuthDirUserAuthDir=
The directory where user's .Xauthority
file should be saved.  When nothing is specified the user's
home directory is used.  This is tilde expanded so you
can set it to things like: ~/authdir/.
If you do not use the tilde expansion, then the filename
created will be random, like in
UserAuthFBDir.  This way many users can
have the same authentication directory.  For example you might
want to set this to /tmp when user has the
home directory on NFS, since you really don't want cookie files
to go over the wire.  The users should really have write
privileges to this directory, and this directory should really
be sticky and all that, just like the /tmp
directory.
Normally if this is the users home directory GDM will still
refuse to put cookies there if it thinks it is NFS (by testing
root-squashing).  This can be changed by setting
NeverPlaceCookiesOnNFS in the
[security] section to false.
UserAuthFBDirUserAuthFBDir=/tmp
If GDM fails to update the user's
.Xauthority file a fallback cookie is
created in this directory.
UserAuthFileUserAuthFile=.Xauthority
Name of the file used for storing user cookies.
VTAllocationVTAllocation=true
On systems where GDM supports automatic VT (virtual terminal)
allocation (currently Linux and FreeBSD only), you can have
GDM automatically append the vt argument to the X server
executable.  This way races that come up from each X server
managing it's own vt allocation can be avoided.  See also
FirstVT.
XKeepsCrashingXKeepsCrashing=<etc>/gdm/XKeepsCrashing
A script to run in case X keeps crashing.  This is for running
An X configuration or whatever else to make the X configuration
work.  See the script that came with the distribution for an
example.  The distributed XKeepsCrashing
script is tested on Red Hat, but may work elsewhere.  Your
system integrator should make sure this script is up to date
for your particular system.
In case FailsafeXServer is setup, that
will be tried first.  and this only used as a backup if even
that server keeps crashing.
XnestXnest=/usr/bin/X11/Xnest (/usr/openwin/bin/Xnest on Solaris)
The full path and arguments to the Xnest command.  This is used
for the flexible Xnest servers.  This way the user can start
new login screens in a nested window.  Of course you must have
the Xnest server from your X server packages installed for this
to work.
