# GDM Configuration file. # # You should not update this file by hand. Since GDM 2.13.0.4, configuration # choices in the gdm.conf-custom file will override the default values # specified in this file. This file may be overwritten on upgrade, so to # ensure that your configuration choices are not lost, please make sure that # your modifications are only made to the gdm.conf-custom file. If you were # using a previous version of GDM and had made changes to your gdm.conf file, # this file should have been automatically renamed as gdm.conf-custom to ensure # that your previous modifications are preserved. # # You can use the gdmsetup program to graphically edit the gdm.conf-custom # file. Note that gdmsetup does not support every option in this file, just # the ones that most users want to change. If you feel that gdmsetup should # support additional configuratio options, please file a bug report at # http://bugzilla.gnome.org/. # # If you hand-edit the GDM configuration, you should run the following command # to get the GDM daemon to recognize the change. Any running GDM GUI programs # will also be notified to update with the new configuration. # # gdmflexiserver --command="UPDATE_CONFIG " # # For example, the "Enable" key in the "[debug]" section would be specified by # "debug/Enable". # # You can also run gdm-restart or gdm-safe-restart to cause GDM to restart and # re-read the new configuration settings. You can also restart GDM by sending # a HUP or USR1 signal to the daemon. HUP behaves like gdm-restart and causes # any user session started by GDM to exit immediately while USR1 behaves like # gdm-safe-restart and will wait until all users log out before restarting GDM. # # For full reference documentation see the GNOME help browser under # GNOME|System category. You can also find the docs in HTML form on # http://www.gnome.org/projects/gdm/ # # NOTE: Some values are commented out but show their default values. Lines # that begin with "#" are considered comments. # # Have fun! [daemon] # Automatic login, if true the first local screen will automatically logged in # as user as set with AutomaticLogin key. AutomaticLoginEnable=false AutomaticLogin= # Timed login, useful for kiosks. Log in a certain user after a certain amount # of time. TimedLoginEnable=false TimedLogin= TimedLoginDelay=30 # The GDM configuration program that is run from the login screen, you should # probably leave this alone. #Configurator=/usr/sbin/gdmsetup --disable-sound --disable-crash-dialog # The chooser program. Must output the chosen host on stdout, probably you # should leave this alone. #Chooser=/usr/lib/gdm/gdmchooser # The greeter for local (non-xdmcp) logins. Change gdmlogin to gdmgreeter to # get the new graphical greeter. Greeter=/usr/lib/gdm/gdmgreeter # The greeter for xdmcp logins, usually you want a less graphically intensive # greeter here so it's better to leave this with gdmlogin #RemoteGreeter=/usr/lib/gdm/gdmlogin # Launch the greeter with an additional list of colon separated GTK+ modules. # This is useful for enabling additional feature support e.g. GNOME # accessibility framework. Only "trusted" modules should be allowed to minimize # security holes #AddGtkModules=false # By default, these are the accessibility modules. #GtkModulesList=gail:atk-bridge:/usr/lib/gtk-2.0/modules/libdwellmouselistener:/usr/lib/gtk-2.0/modules/libkeymouselistener # Default path to set. The profile scripts will likely override this value. # This value will be overridden with the value from /etc/default/login if it # contains "ROOT=". #DefaultPath=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games # Default path for root. The profile scripts will likely override this value. # This value will be overridden with the value from /etc/default/login if it # contains "SUROOT=". #RootPath=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games # If you are having trouble with using a single server for a long time and want # GDM to kill/restart the server, turn this on. On Solaris, this value is # always true and this configuration setting is ignored. #AlwaysRestartServer=false # User and group used for running GDM GUI applicaitons. By default this is set # to user "gdm" and group "gdm". This user/group should have very limited # permissions and access to ony the gdm directories and files. User=gdm Group=gdm # To try to kill all clients started at greeter time or in the Init script. # does not always work, only if those clients have a window of their own. #KillInitClients=true LogDir=/var/log/gdm # You should probably never change this value unless you have a weird setup. PidFile=/var/run/gdm.pid # Note that a post login script is run before a PreSession script. It is run # after the login is successful and before any setup is run on behalf of the # user. PostLoginScriptDir=/etc/gdm/PostLogin/ PreSessionScriptDir=/etc/gdm/PreSession/ PostSessionScriptDir=/etc/gdm/PostSession/ DisplayInitDir=/etc/gdm/Init # Distributions: If you have some script that runs an X server in say VGA # mode, allowing a login, could you please send it to me? #FailsafeXServer= # if X keeps crashing on us we run this script. The default one does a bunch # of cool stuff to figure out what to tell the user and such and can run an X # configuration program. XKeepsCrashing=/etc/gdm/XKeepsCrashing # Reboot, Halt and suspend commands, you can add different commands separated # by a semicolon. GDM will use the first one it can find. RebootCommand=/sbin/shutdown -r now "Rebooted from gdm menu." HaltCommand=/sbin/shutdown -h now "Halted from gdm menu." SuspendCommand=/usr/sbin/pmi action sleep HibernateCommand=/usr/sbin/pmi action hibernate # Probably should not touch the below this is the standard setup. ServAuthDir=/var/lib/gdm # This is our standard startup script. A bit different from a normal X # session, but it shares a lot of stuff with that. See the provided default # for more information. BaseXsession=/etc/gdm/Xsession # This is a directory where .desktop files describing the sessions live. It is # really a PATH style variable since 2.4.4.2 to allow actual interoperability # with KDM. Note that /Sessions is there for backwards # compatibility reasons with 2.4.4.x. SessionDesktopDir=/etc/X11/sessions/:/etc/dm/Sessions/:/usr/share/gdm/BuiltInSessions/:/usr/share/xsessions/ # This is the default .desktop session. One of the ones in SessionDesktopDir DefaultSession=default.desktop # Better leave this blank and HOME will be used. You can use syntax ~/ below # to indicate home directory of the user. You can also set this to something # like /tmp if you don't want the authorizations to be in home directories. # This is useful if you have NFS mounted home directories. Note that if this # is the home directory the UserAuthFBDir will still be used in case the home # directory is NFS, see security/NeverPlaceCookiesOnNFS to override this # behavior. UserAuthDir= # Fallback directory for writing authorization file if user's home directory # is not writable. UserAuthFBDir=/tmp UserAuthFile=.Xauthority # The X server to use if we can't figure out what else to run. StandardXServer=/usr/bin/X # The maximum number of flexible X servers to run. #FlexibleXServers=5 # And after how many minutes should we reap the flexible server if there is no # activity and no one logged on. Set to 0 to turn off the reaping. Does not # affect Xnest flexiservers. #FlexiReapDelayMinutes=5 # The X nest command. Xnest=/usr/bin/Xnest -br -br -audit 0 -name Xnest # Automatic VT allocation. Right now only works on Linux. This way we force # X to use specific vts. turn VTAllocation to false if this is causing # problems. FirstVT=7 VTAllocation=true # Should double login be treated with a warning (and possibility to change VT's # on Linux and FreeBSD systems for console logins) #DoubleLoginWarning=true # Should a second login always resume the current session and switch VT's on # Linux and FreeBSD systems for console logins #AlwaysLoginCurrentSession=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). #DisplayLastLogin=false # Program used to play sounds. Should not require any 'daemon' or anything # like that as it will be run when no one is logged in yet. SoundProgram=/usr/lib/gdmplay # 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. # This is the default: #ConsoleCannotHandle=am,ar,az,bn,el,fa,gu,hi,ja,ko,ml,mr,pa,ta,zh # This determines whether GDM will honor requests DYNAMIC requests from the # gdmdynamic command. #DynamicXServers=false # This determines whether GDM will send notifications to the console. #ConsoleNotify=true # How long gdm should wait before it assumes a started Xserver is defunct and # kills it. 10 seconds should be long enough for X, but Xgl may need 20 or 25. GdmXserverTimeout=10 [security] # Allow root to login. It makes sense to turn this off for kiosk use, when # you want to minimize the possibility of break in. AllowRoot=false # Allow login as root via XDMCP. This value will be overridden and set to # false if the /etc/default/login file exists and contains # "CONSOLE=/dev/login", and set to true if the /etc/default/login file exists # and contains any other value or no value for CONSOLE. AllowRemoteRoot=false # This will allow remote timed login. AllowRemoteAutoLogin=false # 0 is the most restrictive, 1 allows group write permissions, 2 allows all # write permissions. RelaxPermissions=0 # Check if directories are owned by logon user. Set to false, if you have, for # example, home directories owned by some other user. CheckDirOwner=true # Number of seconds to wait after a failed login #RetryDelay=1 # Maximum size of a file we wish to read. This makes it hard for a user to DoS # us by using a large file. #UserMaxFile=65536 # If true this will basically append -nolisten tcp to every X command line, a # good default to have (why is this a "negative" setting? because if it is # false, you could still not allow it by setting command line of any particular # server). It's probably better to ship with this on since most users will not # need this and it's more of a security risk then anything else. # Note: Anytime we find a -query or -indirect on the command line we do not add # a "-nolisten tcp", as then the query just wouldn't work, so this setting only # affects truly local sessions. DisallowTCP=true # By default never place cookies if we "detect" NFS. We detect NFS by # detecting "root-squashing". It seems bad practice to place cookies on things # that go over the network by default and thus we do not do it by default. # Sometimes you can however use safe remote filesystems where this is OK and # you may want to have the cookie in your home directory. #NeverPlaceCookiesOnNFS=true # Will cause PAM_DISALLOW_NULL_AUTHTOK to be passed as a flag to # pam_authenticate and pam_acct_mgmt, disallowing NULL password. This setting # will only take effect if PAM is being used by GDM. This value will be # overridden with the value from /etc/default/login if it contains # "PASSREQ=[YES|NO]" #PasswordRequired=false # Specifies the PAM Stack to use, "gdm" by default. PamStack=gdm # XDMCP is the protocol that allows remote login. If you want to log into GDM # remotely (I'd never turn this on on open network, use ssh for such remote # usage that). You can then run X with -query to log in, or # -indirect to run a chooser. Look for the 'Terminal' server type # at the bottom of this config file. [xdmcp] # Distributions: Ship with this off. It is never a safe thing to leave out on # the net. Setting up /etc/hosts.allow and /etc/hosts.deny to only allow local # access is another alternative but not the safest. Firewalling port 177 is # the safest if you wish to have xdmcp on. Read the manual for more notes on # the security of XDMCP. Enable=false # Honor indirect queries, we run a chooser for these, and then redirect the # user to the chosen host. Otherwise we just log the user in locally. #HonorIndirect=true # Maximum pending requests. #MaxPending=4 #MaxPendingIndirect=4 # Maximum open XDMCP sessions at any point in time. #MaxSessions=16 # Maximum wait times. #MaxWait=15 #MaxWaitIndirect=15 # How many times can a person log in from a single host. Usually better to # keep low to fend off DoS attacks by running many logins from a single host. # This is now set at 2 since if the server crashes then GDM doesn't know for # some time and wouldn't allow another session. #DisplaysPerHost=2 # The number of seconds after which a non-responsive session is logged off. # Better keep this low. #PingIntervalSeconds=15 # The port. 177 is the standard port so better keep it that way. #Port=177 # Willing script, none is shipped and by default we'll send hostname system id. # But if you supply something here, the output of this script will be sent as # status of this host so that the chooser can display it. You could for # example send load, or mail details for some user, or some such. #Willing=/etc/gdm/Xwilling [gui] # The specific gtkrc file we use. It should be the full path to the gtkrc that # we need. Unless you need a specific gtkrc that doesn't correspond to a # specific theme, then just use the GtkTheme key. #GtkRC=/usr/share/themes/Default/gtk-2.0/gtkrc # The GTK+ theme to use for the GUI. GtkTheme=Human # If to allow changing the GTK+ (widget) theme from the greeter. Currently # this only affects the standard greeter as the graphical greeter does not yet # have this ability. AllowGtkThemeChange=true # Comma separated list of themes to allow. These must be the names of the # themes installed in the standard locations for gtk themes. You can also # specify 'all' to allow all installed themes. These should be just the # basenames of the themes such as 'Thinice' or 'LowContrast'. GtkThemesToAllow=Human,HighContrast,HighContrastInverse,LowContrast # Maximum size of an icon, larger icons are scaled down. #MaxIconWidth=128 #MaxIconHeight=128 [greeter] # The following options for setting titlebar and setting window position are # only useful for the standard login (gdmlogin) and are not used by the # themed login (gdmgreeter). # # The standard login has a title bar that the user can move. #TitleBar=true # Don't allow user to move the standard login window. Only makes sense if # TitleBar is on. #LockPosition=false # Set a position for the standard login window rather then just centering the # window. If you enter negative values for the position it is taken as an # offset from the right or bottom edge. #SetPosition=false #PositionX=0 #PositionY=0 # Enable the Face browser. Note that the Browser key is only used by the # standard login (gdmlogin) program. The Face Browser is enabled in # the Graphical greeter by selecting a theme that includes the Face # Browser, such as happygnome-list. The other configuration values that # affect the Face Browser (MinimalUID, DefaultFace, Include, Exclude, # IncludeAll, GlobalFaceDir) are used by both the Standard and Themed # greeter. Browser=false # The default picture in the browser. #DefaultFace=/usr/share/pixmaps/nobody.png # User ID's less than the MinimalUID value will not be included in the face # browser or in the gdmselection list for Automatic/Timed login. They will not # be displayed regardless of the settings for Include and Exclude. MinimalUID=1000 # Users listed in Include will be included in the face browser and in the # gdmsetup selection list for Automatic/Timed login. Users should be separated # by commas. #Include= # Users listed in Exclude are excluded from the face browser and from the # gdmsetup selection list for Automatic/Timed login. Excluded users will still # be able to log in, but will have to type their username. Users should be # separated by commas. Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,gdm,postgres,pvm,rpm # By default, an empty include list means display no users. By setting # IncludeAll to true, the password file will be scanned and all users will be # displayed except users excluded via the Exclude setting and user ID's less # than MinimalUID. Scanning the password file can be slow on systems with # large numbers of users and this feature should not be used in such # environments. The setting of IncludeAll does nothing if Include is set to a # non-empty value. IncludeAll=true # If user or user.png exists in this dir it will be used as his picture. #GlobalFaceDir=/usr/share/pixmaps/faces/ # File which contains the locale we show to the user. Likely you want to use # the one shipped with GDM and edit it. It is not a standard locale.alias # file, although GDM will be able to read a standard locale.alias file as well. LocaleFile=/etc/gdm/locale.conf # Logo shown in the standard greeter. #Logo=/usr/share/pixmaps/gdm-foot-logo.png # Logo shown on file chooser button in gdmsetup (do not modify this value). #ChooserButtonLogo=/usr/share/pixmaps/gdm-foot-logo.png # The standard greeter should shake if a user entered the wrong username or # password. Kind of cool looking #Quiver=true # The Actions menu (formerly system menu) is shown in the greeter, this is the # menu that contains reboot, shutdown, suspend, config and chooser. None of # these is available if this is off. They can be turned off individually # however. #SystemMenu=true # Configuration is available from the system menu of the greeter. ConfigAvailable=false # Should the chooser button be shown. If this is shown, GDM can drop into # chooser mode which will run the xdmcp chooser locally and allow the user to # connect to some remote host. Local XDMCP does not need to be enabled, # however. #ChooserButton=true # Welcome is for all console logins and RemoteWelcome is for remote logins # (through XDMCP). # DefaultWelcome and DefaultRemoteWelcome set the string for Welcome to # "Welcome" and for DefaultWelcome to "Welcome to %n", and properly translate # the message to the appropriate language. Note that %n gets translated to the # hostname of the machine. These default values can be overridden by setting # DefaultWelcome and/or DefaultRemoteWelcome to false, and setting the Welcome # and DefaultWelcome values as desired. Just make sure the strings are in # utf-8 Note to distributors, if you wish to have a different Welcome string # and wish to have this translated you can have entries such as # "Welcome[cs]=Vitejte na %n". DefaultWelcome=true DefaultRemoteWelcome=true #Welcome=Welcome #RemoteWelcome=Welcome to %n # Xinerama screen we use to display the greeter on. Not for true multihead, # currently only works for Xinerama. #XineramaScreen=0 # Background settings for the standard greeter: # Type can be 0=None, 1=Image & Color, 2=Color, 3=Image #BackgroundType=2 #BackgroundImage= #BackgroundScaleToFit=true # The Standard greeter (gdmlogin) uses BackgroundColor as the background # color, while the themed greeter (gdmgreeter) uses GraphicalThemedColor # as the background color. BackgroundColor=#2b0600 GraphicalThemedColor=#2b0600 # XDMCP session should only get a color, this is the sanest setting since you # don't want to take up too much bandwidth #BackgroundRemoteOnlyColor=true # Program to run to draw the background in the standard greeter. Perhaps # something like an xscreensaver hack or some such. #BackgroundProgram= # If this is true then the background program is run always, otherwise it is # only run when the BackgroundType is 0 (None). #RunBackgroundProgramAlways=false # Delay before starting background program #BackgroundProgramInitialDelay=30 # Should the background program be restarted if it is exited. #RestartBackgroundProgram=true # Delay before restarting background program #BackgroundProgramRestartDelay=30 # Show the Failsafe sessions. These are much MUCH nicer (focus for xterm for # example) and more failsafe then those supplied by scripts so distros should # use this rather then just running an xterm from a script. #ShowGnomeFailsafeSession=true #ShowXtermFailsafeSession=true # Normally there is a session type called 'Last' that is shown which refers to # the last session the user used. If off, we will be in 'switchdesk' mode # where the session saving stuff is disabled in GDM #ShowLastSession=true # Always use 24 hour clock no matter what the locale. #Use24Clock=auto # Use circles in the password field. Looks kind of cool actually, but only # works with certain fonts. UseCirclesInEntry=true # Do not show any visible feedback in the password field. This is standard for # instance in console, xdm and ssh. #UseInvisibleInEntry=false # These two keys are for the themed greeter (gdmgreeter). Circles is the # standard shipped theme. If you want GDM to select a random theme from a # list then provide a list that is delimited by /: to the GraphicalThemes # key and set GraphicalThemeRand to true. Otherwise use GraphicalTheme # and specify just one theme. GraphicalTheme=Human #GraphicalThemes=circles/:happygnome GraphicalThemeDir=/usr/share/gdm/themes/ GraphicalThemeRand=false # If InfoMsgFile points to a file, the greeter will display the contents of the # file in a modal dialog box before the user is allowed to log in. #InfoMsgFile= # If InfoMsgFile is present then InfoMsgFont can be used to specify the font to # be used when displaying the contents of the file. #InfoMsgFont=Sans 24 # If SoundOnLogin is true, then the greeter will beep when login is ready for # user input. If SoundOnLogin is a file and the greeter finds the 'play' # executable (see daemon/SoundProgram) it will play that file instead of just # beeping. SoundOnLogin=true SoundOnLoginFile=/usr/share/sounds/question.wav # If SoundOnLoginSuccess, then the greeter will play a sound (as above) when a # user successfully logs in. #SoundOnLoginSuccess=false #SoundOnLoginSuccessFile= # If SoundOnLoginFailure, then the greeter will play a sound (as above) when a # user fails to log in. #SoundOnLoginFailure=false #SoundOnLoginFailureFile= # Specifies a program to be called by the greeter/login program when the # initial screen is displayed. The purpose is to provide a hook where files # used after login can be preloaded to speed performance for the user. The # program will only be called once only, the first time a greeter is displayed. # The gdmprefetch command may be used. This utility will load any libraries # passed in on the command line, or if the argument starts with a "@" # character, it will process the file assuming it is an ASCII file containing a # list of libraries, one per line, and load each library in the file. #PreFetchProgram=/usr/lib/gdm/gdmprefetch /etc/gdm/gdmprefetchlist # The chooser is what's displayed when a user wants an indirect XDMCP session, # or selects Run XDMCP chooser from the system menu [chooser] # Default image for hosts. #DefaultHostImg=/usr/share/pixmaps/nohost.png # Directory with host images, they are named by the hosts: host or host.png. HostImageDir=/usr/share/hosts/ # Time we scan for hosts (well only the time we tell the user we are scanning # actually, we continue to listen even after this has expired). #ScanTime=4 # A comma separated lists of hosts to automatically add (if they answer to a # query of course). You can use this to reach hosts that broadcast cannot # reach. Hosts= # Broadcast a query to get all hosts on the current network that answer. Broadcast=true # Set it to true if you want to send a multicast query to hosts. Multicast=false # It is an IPv6 multicast address.It is hardcoded here and will be replaced # when officially registered xdmcp multicast address of TBD will be available. #Multicast_Addr=ff02::1 # Allow adding random hosts to the list by typing in their names. #AllowAdd=true [debug] # This will cause GDM to send debugging information to the system log, which # will create a LOT of output. It is not recommended to turn this on for # normal use, but it can be useful to determine the cause when GDM is not # working properly. Enable=false # This will enable debug messages for accessibilty gesture listeners into the # syslog. This includes output about key events, mouse button events, and # pointer motion events. This is useful for figuring out the cause of why the # gesture listeners may not be working, but is too verbose for general debug. Gestures=false [servers] # These are the standard servers. You can add as many you want here and they # will always be started. Each line must start with a unique number and that # will be the display number of that server. Usually just the 0 server is # used. 0=Standard #1=Standard # Note the VTAllocation and FirstVT keys on Linux and FreeBSD. Don't add any # vt arguments if VTAllocation is on, and set FirstVT to be the first # vt available that your gettys don't grab (gettys are usually dumb and grab # even a vt that has already been taken). Using 7 will work pretty much for # all Linux distributions. VTAllocation is not currently implemented on # anything but Linux and FreeBSD. Feel free to send patches. X servers will # just not get any extra arguments then. # # If you want to run an X terminal you could add an X server such as this: #0=Terminal -query serverhostname # or for a chooser (optionally serverhostname could be localhost): #0=Terminal -indirect serverhostname # # If you wish to run the XDMCP chooser on the local display use the following # line #0=Chooser ## Note: # is your X server not listening to TCP requests? Perhaps you should look at # the security/DisallowTCP setting! # Definition of the standard X server. [server-Standard] name=Standard server command=/usr/bin/X -br -audit 0 flexible=true # Indicates that the X server should be started at a different process # priority. Values can be any integer value accepted by the setpriority C # library function (normally between -20 and 20) with 0 being the default. For # highly interactive applications, -5 yields good responsiveness. The default # value is 0 and the setpriority function is not called if the value is 0. #priority=0 # To use this server type you should add -query host or -indirect host to the # command line. [server-Terminal] name=Terminal server # Add -terminate to make things behave more nicely command=/usr/bin/X -br -audit 0 -terminate # Make this not appear in the flexible servers (we need extra params anyway, # and terminate would be bad for xdmcp choosing). You can make a terminal # server flexible, but not with an indirect query. If you need flexible # indirect query server, then you must get rid of the -terminate and the only # way to kill the flexible server will then be by Ctrl-Alt-Backspace. flexible=false # Not local, we do not handle the logins for this X server. handled=false # To use this server type you should add -query host or -indirect host to the # command line. [server-Chooser] name=Chooser server command=/usr/bin/X -br -audit 0 # Make this not appear in the flexible servers for now, but if you wish to # allow a chooser server then make this true. This is the only way to make a # flexible chooser server that behaves nicely. flexible=false # Run the chooser instead of the greeter. When the user chooses a machine they # will get this same server but run with "-terminate -query hostname". chooser=true