310
GDM can be asked to manage a display a number of ways. Local displays
311
are always managed when GDM starts and will be restarted when a user's
312
session is finished. Displays can be requested via XDMCP, flexible
313
displays can be requested by running the
314
<command>gdmflexiserver</command> command. Displays that are started
315
on request are not restarted on session exit. GDM also provides the
316
<command>gdmdynamic</command> command to allow easier management of
317
displays on a multi-user server. These display types are discussed
318
further in the next section.
310
GDM can be asked to manage a display a number of ways. Attached
311
displays are always managed when GDM starts and will be restarted when
312
a user's session is finished. Remote displays can be requested via
313
XDMCP, flexible displays via the <command>gdmflexiserver</command>
314
command, and dynamic displays via the <command>gdmdynamic</command>
315
command. Displays that are started on request are not restarted on
388
386
<title>Different Display Types</title>
391
GDM supports three different display types: static (local) displays,
392
flexible (on-demand) displays, and XDMCP (remote) displays. The
389
GDM supports three different display types: attached displays,
390
flexible displays, and XDMCP remote displays. The
393
391
"X Server Definitions" subsection of the
394
392
"Configuration" section explains how the X server is
395
393
configured for different displays.
399
Static (local) displays are always started by the daemon, and when they
400
die or are killed, they are restarted. GDM can run as many of these
401
as needed. GDM can also manage displays on which it does not manage a
402
GUI login, thus GDM can be used for supporting X terminals.
403
The "Local Static X Display Configuration" subsection of
404
the "Configuration" section describes how Static (local)
405
displays are defined.
397
Attached (also known as local or static) displays are always started by
398
the daemon, and when they die or are killed, they are restarted. GDM
399
can run as many of these as needed. GDM can also manage displays on
400
which it does not manage a GUI login, thus GDM can be used for
401
supporting X terminals. The "Attached DISPLAY Configuration"
402
subsection of the "Configuration" section describes how
403
attached displays are defined.
409
Flexible, or on demand displays are only available to users logged
410
in on the console. Starting a flexible display will lock the current
411
user session and will show a new login screen over the current running
412
session. If at least one flexible display is already running, and the
413
user requests another, then a dialog will display showing existing
414
flexible displays. The user can choose to switch back to a previous
415
display or start a new flexible display. If the user switches back
416
to a previous display, they will need to enter the password in the
407
Flexible (also known as on-demand) displays are only available to users
408
logged on the console. Starting a flexible display will lock the
409
current user session and will show a new login screen over the current
410
running session. If at least one flexible display is already running,
411
and the user requests another, then a dialog will display showing
412
existing flexible displays. The user can choose to switch back to a
413
previous display or start a new flexible display. If the user switches
414
back to a previous display, they will need to enter the password in the
417
415
lock screen program to return to their session. The GDM configuration
418
416
file specifies the maximum number of flexible displays allowed on the
449
447
command or via calling the GDM socket protocol directly. Nested
450
448
displays require that the X server supports a nested X server command
451
449
like Xnest or Xephyr. The <filename>Xnest</filename> configuration
452
option is used to configure how nested displays operate
450
option is used to configure how nested displays are started.
456
454
The <command>gdmdynamic</command> is similar to
457
455
<command>gdmflexiserver</command> in the sense that it allows the
458
456
user to manage displays dynamically. However displays started with
459
<command>gdmdynamic</command> are treated as local displays, so
457
<command>gdmdynamic</command> are treated as attached displays, so
460
458
they are restarted automatically when the session exits. This
461
459
command is intended to be used in multi-user server environments
462
460
(many displays connected to a single server). In other words,
463
461
this command allows the displays to be managed without hardcoding
464
the display information in the "Local Static X Display
462
the display information in the "Attached DISPLAY
465
463
Configuration" section of the configuration file. This
466
464
is useful to support the ability of adding new displays to the
467
465
server without needing to restart GDM, for example.
937
<sect2 id="utmpwtmp">
943
GDM generates utmp and wtmp User Accounting Database entries upon
944
session login and logout. The utmp database contains user access
945
and accounting information that is accessed by commands such as
946
<command>finger</command>, <command>last</command>,
947
<command>login</command>, and <command>who</command>. The wtmp
948
database contains the history of user access and accounting
949
information for the utmp database.
953
GDM 2.18 and earlier would run the X server <command>sessreg</command>
954
program from the default GDM <command>PreSession</command> and
955
<command>PostSession</command> scripts. Starting with GDM 2.20, GDM
956
interacts with the UTMP and WTMP databases directly and supports the
957
following configuration options.
961
When doing utmp processing, GDM supports configurability on how the
962
ut_line value is set. Programs that access the database assume that
963
this value is an actual device, so GDM will set the device as follows.
964
If the display is attached and has an associated Virtual Terminal (VT)
965
device, then this device will be used. Otherwise, if an attached
966
display in the <command>[servers]</command> specifies a device name,
967
then this value will be used. Otherwise attached displays will default
968
to the <filename>UtmpLineAttached</filename> value in the GDM
969
configuration. Remote displays will default to the
970
<filename>UtmpLineRemote</filename> value in the GDM configuration.
971
Device values must begin with "/dev/".
975
GDM also supports the <filename>UtmpPseudoDevice</filename>
976
configuration option. If this configuration setting is true, then GDM
977
will ensure that the specified device exists and will create a pseudo
978
device if the device does not exist. A pseudo device is a symlink to
979
<filename>/dev/null</filename>. If
980
<filename>UtmpPseudoDevice</filename> is true, and the device does
981
already exist, GDM checks to see if the device is a symlink to
982
<filename>/dev/null</filename>. If so, then GDM will update the access
983
time of the symlink. This ensures that programs that check the access
984
time of the device will get a reasonable value for the last time the
985
device was accessed. If the <filename>UtmpPseudoDevice</filename>
986
configuration option is false, then GDM will only set the ut_line
987
value as specified regardless of whether the device exists or not.
939
991
<sect2 id="gdmuser">
940
992
<title>The GDM User</title>
1195
1247
this user session such as: the user ID, the X11 Display name that will be
1196
1248
associated with the session, the host-name from which the session
1197
1249
originates (useful in the case of an XDMCP session), whether or not this
1198
session is local, etc. As the entity that initiates the user process,
1250
session is attached, etc. As the entity that initiates the user process,
1199
1251
GDM is in a unique position know and to be trusted to provide these bits
1200
1252
of information about the user session. The use of this privileged method
1201
1253
is restricted by the use of D-Bus system message bus security policy.
1253
1305
The Local tab is used for controlling the appearance of GDM for
1254
local/static displays (non-XDMCP remote connections). The choices
1255
available in this tab depend on the setting of the "Style"
1256
combobox. This combobox is used to determine whether the
1257
"Plain" or "Themed" greeter GUI is used. The
1258
differences between these greeter programs are explained in the
1259
"Overview" section of this document.
1306
attached (also known as local or static) displays. Attached displays
1307
are non-XDMCP remote connections, for example. The choices available
1308
in this tab depend on the setting of the "Style" combobox.
1309
This combobox is used to determine whether the "Plain" or
1310
"Themed" greeter GUI is used. The differences between these
1311
greeter programs are explained in the "Overview" section of
1322
1375
Actions menu includes the choice to start <command>gdmsetup</command>
1323
1376
(greeter/ConfigAvailable), and whether the Action menu includes the
1324
1377
choice to start <command>gdmchooser</command> to run a remote XDMCP
1325
login session (greeter/ChooserButton). Note that the root password
1326
must be entered to start <command>gdmsetup</command> from the login
1327
screen if it is enabled. Also the Welcome message displayed for local
1328
sessions may be selected (greeter/DefaultWelcome and greeter/Welcome).
1329
The Welcome message can contain the character sequences described in
1330
the "Text Node" section of the "Themed Greeter"
1331
section of this manual.
1378
login session (greeter/ChooserButton). The welcome message for
1379
attached DISPLAYS may be specified (greeter/DefaultWelcome and
1380
greeter/Welcome). The welcome message may contain the character
1381
sequences described in the "Text Node" subsection of the
1382
"Themed Greeter" section of this manual. These character
1383
sequences allow the welcome message to contain things like the display
1356
If Remote login is enabled, then the user can specify the remote
1357
Welcome Message to be displayed (greeter/DefaultRemoteWelcome and
1409
If Remote login is enabled, then the welcome message for
1410
remote DISPLAYs may be specified (greeter/DefaultRemoteWelcome and
1358
1411
greeter/RemoteWelcome). This welcome message is separate from the
1359
Local welcome message and can have a different value. The Welcome
1360
message can contain the character sequences described in the
1361
"Text Node" section of the "Themed Greeter"
1362
section of this manual.
1412
one shown for attached displays defined in the Local tab and can have
1413
a different value. The welcome message may contain the character
1414
sequences described in the "Text Node" subsection of the
1415
"Themed Greeter" section of this manual. These character
1416
sequences allow the welcome message to contain things like the
1417
display or host name.
1634
1689
When the X server has been successfully started, GDM will try to run
1635
1690
the script called <filename>Init/<displayname></filename>. I.e.
1636
<filename>Init/:0</filename> for the first local display. If this file
1637
is not found, GDM will attempt to to run
1691
<filename>Init/:0</filename> for the first attached display. If this
1692
file is not found, GDM will attempt to to run
1638
1693
<filename>Init/<hostname></filename>. I.e.
1639
1694
<filename>Init/somehost</filename>.
1640
1695
If this still is not found, GDM will try
1673
1728
After the user session has been setup from the GDM side of things, GDM
1674
1729
will run the scripts in the <filename>PreSession</filename> directory,
1675
1730
again in the same manner as the <filename>Init</filename> directory.
1676
Use this script for local session management or accounting stuff. The
1677
<filename>$USER</filename> environment variable contains the login of
1678
the authenticated user and <filename>$DISPLAY</filename> is set to the
1679
current display. The script should return 0 on success. Any other
1680
value will cause GDM to terminate the current login process. This is
1681
not true for failsafe sessions however. Also
1731
This script can be used for session management or accounting, for
1732
example. The <filename>$USER</filename> environment variable contains
1733
the login of the authenticated user and <filename>$DISPLAY</filename>
1734
is set to the current display. The script should return 0 on success.
1735
Any other value will cause GDM to terminate the current login process.
1736
This is not true for failsafe sessions however. Also
1682
1737
<filename>$X_SERVERS</filename> environmental variable is set and this
1683
1738
points to a fake generated X servers file for use with the sessreg
1684
1739
accounting application.
1930
1985
<synopsis>AutomaticLoginEnable=false</synopsis>
1932
If the user given in AutomaticLogin should be logged in upon
1987
If the user given in AutomaticLogin should be logged in upon
1933
1988
first bootup. No password will be asked. This is useful
1934
for single user workstations where local console security
1935
is not an issue. Also could be useful for public terminals,
1936
although there see <filename>TimedLogin</filename>.
1989
for single user workstations where console security is not an
1990
issue and also could be useful for public terminals. Refer
1991
also to <filename>TimedLogin</filename>.
1939
1994
</varlistentry>
2779
2834
<synopsis>AllowRemoteAutoLogin=false</synopsis>
2781
Allow the timed login to work remotely. That is, remote
2782
connections through XDMCP will be allowed to log into the
2783
"TimedLogin" user by letting the login window time
2784
out, just like the local user on the first console.
2836
Allow the timed login feature to work for remote displays.
2837
In other words, remote connections via XDMCP will be allowed to
2838
log into the "TimedLogin" user after the delay
2839
defined by <filename>TimedLoginDelay</filename>.
2787
2842
Note that this can make a system quite insecure, and thus is
2828
2883
<synopsis>DisallowTCP=true</synopsis>
2830
2885
If true, then always append <filename>-nolisten tcp</filename>
2832
of local X servers, thus disallowing TCP connection. This is
2833
useful if you do not care for allowing remote connections,
2834
since the X protocol could really be potentially a security
2835
hazard to leave open, even though no known security problems
2886
to the command line when starting attached X servers, thus
2887
disallowing TCP connection. This is a more secure
2888
configuration if not using remote connections.
2839
2891
</varlistentry>
2932
2984
</varlistentry>
2986
<term>UtmpLineAttached</term>
2988
<synopsis>UtmpLineAttached=/dev/console (or /dev/dtlocal on Solaris)</synopsis>
2990
When doing Utmp processing for attached displays, GDM sets the
2991
ut_line to the device associated with the Virtual Terminal (VT)
2992
if it is being used. Otherwise, it will use the value
2993
specified with the display in the
2994
<filename>[servers]</filename> section if a value is provided.
2995
If not, then the default value specified in UtmpLineAttached is
2996
used for attached displays. The value can contain
2997
"%d" which is translated to the DISPLAY value or
2998
"%h" which is translated to the hostname. This value
2999
must begin with <filename>/dev/</filename>.
3004
<term>UtmpLineRemote</term>
3006
<synopsis>UtmpLineRemote= (or /dev/dtremote on Solaris)</synopsis>
3008
When doing Utmp processing, GDM sets the ut_line to this value
3009
for remote displays. The value can contain "%d"
3010
which is translated to the DISPLAY value or "%h"
3011
which is translated to the hostname. This value must begin
3012
with <filename>/dev/</filename>.
3017
<term>UtmpPseudoDevice</term>
3019
<synopsis>PseudoDevice=false (or true on Solaris)</synopsis>
3021
If the device associated with a display does not exist, then
3022
GDM will create a symlink to <filename>/dev/null</filename>, or
3023
touch it if it is a symlink to <filename>/dev/null</filename>.
3024
Some programs such as <command>last</command>,
3025
<command>finger</command>, or <command>who</command> access the
3026
utmp database and may assume that the device points to an
3027
actual file. Creating such symlinks ensures that such programs
2933
3032
</variablelist>
3926
4026
Configure, XDMCP chooser and such. All of those can however
3927
4027
be turned off individually. Shutdown, Restart and Suspend can
3928
4028
be turned off by just setting the corresponding keys to empty.
3929
Note that the actions menu is only shown on local logins as it
3930
would not be safe or even desirable on remote logins, so you
3931
don't have to worry about remote users having any sort of
4029
Note that the actions menu is only shown on attached displays.
4030
It would not be safe or even desirable on remote logins, so you
4031
do not have to worry about remote users having these privileges.
4375
4474
</variablelist>
4378
<sect3 id="serverdefs">
4477
<sect3 id="xserverdefs">
4379
4478
<title>X Server Definitions</title>
4382
To set up X servers, you need to provide GDM with information about
4383
the installed X servers. You can have as many different definitions
4384
as you wish, each identified with a unique name. The name
4481
GDM needs to be provided with information about each X servers that
4482
will be used. You can have as many different definitions as you wish,
4483
each identified with a unique name. The name
4385
4484
<filename>Standard</filename> is required. If you do not specify
4386
4485
this server, GDM will assume default values for a 'Standard' server
4387
4486
and the path given by <filename>daemon/StandardXServer</filename>.
4394
4493
followed by the identifier of this server. This should be a simple
4395
4494
ASCII string with no spaces. The GUI configuration program allows
4396
4495
users to edit the servers defined in the GDM configuration files
4397
but currently does not allow adding or deleting entries. Like normal
4398
configuration options, <filename>server-</filename> sections in the
4399
GDM Custom Configuration File override values in the GDM System
4400
Defaults Configuration File. In other words, if a
4401
<filename>server-Standard</filename> section is defined in the GDM
4402
Custom Configuration File, then that will be used and the section in
4403
the GDM System Defaults Configuration File will be ignored.
4496
but currently does not allow adding or deleting entries. Like
4497
normal configuration options, <filename>server-</filename>
4498
sections in the <filename><etc>/gdm/custom.conf</filename>
4499
file override values in the
4500
<filename><share>/gdm/defaults.conf</filename> file. In other
4501
words, if a <filename>server-Standard</filename> section is defined
4502
in <filename><etc>/gdm/custom.conf</filename>, then that
4503
will be used and the section in the
4504
<filename><share>/gdm/defaults.conf</filename> file will be
4407
4509
<title>[server-Standard]</title>
4470
4575
</varlistentry>
4474
<sect3 id="localservers">
4475
<title>Local Static X Display Configuration</title>
4478
The static display configuration specifies what displays should be
4479
always managed by GDM. GDM will restart the X server on the display
4480
if it dies, for example. There may be as many static displays that
4481
are managed as you wish, although typically each display is
4482
associated with a real display. For example, if a machine has two
4483
displays (say display ":0" and display ":1"),
4484
then this section can be used to specify that a separate login
4485
screen be managed for each screen. Each key in the
4486
<filename>[servers]</filename> section corresponds to the display
4487
number to be managed. Normally there is only one key, which is the
4488
key <filename>0</filename>, which corresponds to the display
4489
<filename>:0</filename>.
4493
The GUI configuration program allows users to edit the static display
4494
configuration defined in the GDM configuration files and allows the
4495
user to add or delete entries. Like normal configuration options,
4496
the <filename>[servers]</filename> section in the GDM Custom
4497
Configuration File overrides values in the GDM System Defaults
4502
<title>[servers]</title>
4505
<term><display number></term>
4507
<synopsis>0=Standard</synopsis>
4509
Control section for local displays. Each line indicates
4510
the local display number and the command that needs to
4511
be run to start the X server(s).
4515
The command can either be a path to an X executable, or a name
4516
of one of the server definitions. This can be followed by some
4517
arguments that should be passed to the X server when executed.
4518
The gdm daemon doesn't enforce the numbers to be in order or
4519
for them to be "packed". They keyword
4520
"inactive" can be used instead of a command to
4521
specify that the display should be not managed. This can be
4522
used in the GDM Custom Configuration File to turn off a
4523
display that is defined in the GDM System Defaults
4528
GDM will splice "<filename>-auth
4529
<ServAuthDir>/:n.Xauth :n</filename>", where n is
4530
the display number. Inside the command line before all
4531
other arguments before running the X server.
4535
On some systems it is necessary for GDM to know on which
4536
virtual consoles to run the X server. In this case,
4537
(if running XFree86) add "vt7" to the command line,
4538
for example, to run on virtual console 7. However on Linux and
4539
FreeBSD this is normally done automatically if the
4540
<filename>VTAllocation</filename> key is set.
4544
Normally you do not need to add a
4545
<filename>-nolisten tcp</filename> flag as this is added
4546
automatically for local X servers when the
4547
<filename>DisallowTCP</filename> option is set.
4553
4578
<term>priority</term>
4566
4591
</varlistentry>
4567
4592
</variablelist>
4595
<sect3 id="attacheddisplayconfig">
4596
<title>Attached DISPLAY Configuration</title>
4599
The attached (also known as local or static) display configuration
4600
specifies what displays should be always managed by GDM. GDM will
4601
restart the X server on the display if it dies, for example. There
4602
may be as many attached displays that are managed as you wish.
4603
Typically each display is associated with a real display. On a
4604
typical single-display machine this section would only contain one
4605
key <filename>0</filename> that corresponds to DISPLAY
4606
<filename>:0</filename>.
4610
The GUI configuration program allows users to edit the attached
4611
display configuration defined in the GDM configuration files
4612
and allows the user to add or delete entries. Like normal
4613
configuration options, the <filename>[servers]</filename>
4614
section in the <filename><etc>/gdm/custom.conf</filename>
4615
file overrides values in the
4616
<filename><share>/gdm/defaults.conf</filename> file.
4620
<title>[servers]</title>
4623
<term><display number></term>
4625
<synopsis>0=Standard [device=/dev/foo]</synopsis>
4628
The key cooresponds to the DISPLAY to be managed, so that
4629
key <filename>0</filename> cooresponds to DISPLAY
4630
<filename>:0</filename>. On a multi-display machine you
4631
can configure GDM to manage a login program on other displays
4632
by adding additional keys. For example, adding key
4633
<filename>1</filename> would cause GDM to manage DISPLAY
4634
<filename>:1</filename>.
4638
The first word of the value corresponds to a X server
4639
definition in the "X Server Definitions" section
4640
of the configuration file. For example, the following entry
4641
means that DISPLAY <filename>:0</filename> will start an X
4642
server as defined in the
4643
<filename>[server-Standard]</filename> section:
4652
The first word of the value can also be set to the string
4653
"inactive" to indicate that this DISPLAY should not
4654
be managed. This can be used in the GDM Custom Configuration
4655
File to turn off a DISPLAY that is defined in the GDM System
4656
Defaults Configuration File.
4660
The optional device argument is used to specify the device that
4661
is associated with the DISPLAY. When using Virtual Terminals
4662
(VT), this value is ignored and GDM will use the correct
4663
device name associated with the VT. If not using VT, then GDM
4664
will use the value specified by this optional argument. If
4665
the device argument is not defined, then GDM will use the
4666
default setting for attached displays defined in the
4667
<filename>UtmpLineAttached</filename> configuration section.
4668
For the main display (typically DISPLAY
4669
<filename>:0</filename>), <filename>/dev/console</filename> is
4670
a reasonable value. For other displays it is probably best
4671
to not include this argument unless you know the specific
4672
device associated with the DISPLAY. The device value can
4673
contain "%d" which is translated to the DISPLAY value
4674
or "%h" which is translated to the hostname.
4571
4682
<sect2 id="userconfig">
4846
4957
AUTH_LOCAL: Setup this connection as authenticated for
4847
4958
FLEXI_SERVER. Because all full blown
4848
4959
(non-nested) displays can be started only from
4849
users logged in locally, and here GDM assumes
4850
only users logged in from GDM. They must pass
4851
the xauth MIT-MAGIC-COOKIE-1 that they were passed
4852
before the connection is authenticated.
4960
users logged into attached displays, and here GDM
4961
assumes only users logged in from GDM. They must
4962
pass the xauth MIT-MAGIC-COOKIE-1 that they were
4963
passed before the connection is authenticated.
4853
4964
Note: The AUTH LOCAL command requires the
4854
4965
--authenticate option, although only
4855
4966
FLEXI XSERVER uses this currently.
5711
5822
<term>-l [pattern]</term>
5714
List displays via the ATTACHED_SERVERS <command>gdmflexiserver</command>
5715
command. Without a pattern lists all attached displays. With a pattern
5716
will match using glob characters '*', '?', and '[]'. For example:
5825
List displays via the ATTACHED_SERVERS
5826
<command>gdmflexiserver</command> command. Without a pattern
5827
lists all attached displays. With a pattern will match using
5828
glob characters '*', '?', and '[]'. For example:
5717
5829
<command>"-l Standard*"</command>
5718
5830
<command>"-l *Xorg*"</command>
5904
6016
If started with this option, gdm will init, but only start the
5905
first local display and then wait for a GO message in the fifo
5906
protocol. No greeter will be shown until the GO message is
5907
sent. Also flexiserver requests will be denied and XDMCP will
5908
not be started until GO is given. This is useful for
6017
first attached display and then wait for a GO message in the
6018
fifo protocol. No greeter will be shown until the GO message
6019
is sent. Also flexiserver requests will be denied and XDMCP
6020
will not be started until GO is given. This is useful for
5909
6021
initialization scripts which wish to start X early, but where
5910
6022
you don't yet want the user to start logging in. So the script
5911
6023
would send the GO to the fifo once it is ready and GDM will
6092
Once you have theme ready and installed you can test it with the
6093
installed <command>gdmthemetester</command> script. This script
6094
assumes that the X server supports a nested server command. This
6095
command takes two arguments, first the environment that should be used.
6096
This is one of console, console-timed, flexi, remote-flexi, xdmcp.
6097
Where console is a standard console login, console-timed is a console
6098
login with a timed login going on, flexi is for any local flexible
6099
display, remote-flexi is for flexi displays that are not local (such
6100
as an Xnest flexiserver run from a remote display) and xdmcp is for
6101
remote XDMCP connections. The second argument is the theme name. So
6102
for example to test how things look in the XDMCP mode with the circles
6103
theme you would run:
6204
Once a theme is installed, it can be tested with the
6205
<command>gdmthemetester</command> program. This program assumes that
6206
the X server supports a nested server command. This command takes two
6207
arguments, first the environment that should be used. The environment
6208
can be one of the following values: console, console-timed, flexi,
6209
remote-flexi, or xdmcp. The "console" option tests the
6210
theme as it would be shown on an attached display. The
6211
"console-timed" option tests the theme as it would be shown
6212
on an attached display with timed login enabled. The "flexi"
6213
option tests the theme as it would be shown on an attached flexible
6214
display (such as started via Xnest). Finally, the "xdmcp"
6215
option tests the theme as it would be shown for remote XDMCP
6216
displays. The second argument is the theme name. For example, to
6217
test how the circles theme would look in XDMP remote display mode,
6218
you would run the following command:
6111
Be sure to test all the environments with your theme, and make sure to
6112
test how the caps lock warning looks by pressing caps lock. This is
6113
also a good way to take screenshots, just take a screenshot of the
6114
nested display window. This can be done in GNOME by focusing the
6115
nested login window and pressing Alt-PrintScreen.
6226
When developing a theme, make sure to test all the environments, and
6227
make sure to test how the caps lock warning looks by pressing the caps
6228
lock key. Running <command>gdmthemetester</command> is also a good way
6229
to take screenshots of GDM themes. Simply take a screenshot of the
6230
theme running in the nested display window. This can be done in GNOME
6231
by focusing the nested login window and pressing Alt-PrintScreen.
6119
Once you have all this done, then make a tarball that contains the
6120
directory name (so that you could just untar it in the
6121
<filename><share>/gdm/themes</filename> directory). And this is
6122
the tarball you distribute and people can install from the graphical
6123
configuration application. You can do this with the commands:
6125
cd <share>/gdm/themes
6126
tar czvf <theme_name>.tar.gz <theme_name>/
6235
Once a theme has been fully tested, then make a tarball that contains
6236
the directory as it would be insatlled to the
6237
<filename><share>/gdm/themes</filename> directory. This is
6238
the standard format for distributing GDM themes.
7619
7730
<sect1 id="exampleconf">
7620
7731
<title>설정 예</title>
7623
This section has some example configurations that are useful for
7627
<sect2 id="terminallab">
7628
<title>Terminal Lab With One Server</title>
7631
Suppose you want to make a lab full of X terminals that all connect
7632
to one server machine. So let's call one X terminal
7633
<filename>xterminal</filename> and let's call the server machine
7634
<filename>appserver</filename>. You install GDM on both.
7638
On <filename>appserver</filename> you enable XDMCP, so you have
7643
If you want no local screens here, you can then
7644
make the <filename>[servers]</filename> section empty.
7648
On the <filename>xterminal</filename> you disable XDMCP (you don't
7649
want anyone to connect to the xterminal really). You will add a
7650
server type perhaps called <filename>Terminal</filename> as follows:
7653
name=Terminal server
7654
command=/path/to/X -terminate
7658
This definition should in fact be included in the standard
7659
configuration file. Notice that we made the
7660
<filename>handled</filename> key false since we don't want GDM to
7661
handle this server localy. Also note that we have not yet added the
7662
<filename>-query</filename> argument, you can add that here, or in the
7663
<filename>[servers]</filename> section. We'll define our local
7667
0=Terminal -query appserver
7669
This will run a direct XDMCP query to the server named
7670
<filename>appserver</filename>.
7674
<sect2 id="terminallabtwo">
7675
<title>Terminal Lab With Two Or More Servers</title>
7678
Suppose you want to make a lab full of X terminals that all connect
7679
to some choice of servers. For now let's make it
7680
<filename>appserverone</filename> and
7681
<filename>appservertwo</filename>. Again we'll call our example X
7682
terminal server <filename>xterminal</filename>. The setup on both
7683
servers is the same as with the case of one server in the previous
7684
section. You do not need to explicitly enable indirect queries on the
7685
server since we'll run the choosers locally on the X terminals.
7689
So on the <filename>xterminal</filename> you again disable XDMCP.
7690
You will add a server type perhaps called <filename>Chooser</filename>
7699
And again this definition should in fact be included in the standard
7700
configuration file. Notice that we made the
7701
<filename>chooser</filename> key true here. This will run the XDMCP
7702
chooser for this server, and when the user chooses a host GDM will run
7703
a query for that host. Then we will define our local servers as
7712
The XDMCP chooser on the X terminal will normally give a broadcast
7713
query to see which servers exist on the network. If the two servers
7714
are not reachable by a broadcast query, you must add them by hand to
7715
the configuration file. So in the <filename>[chooser]</filename>
7716
section you would have:
7718
Hosts=appserverone,appservertwo
7720
and any other servers you wish the users to be able to connect to.
7724
Sometimes you may want to run the chooser on the server side however.
7725
Then what you want to do is to run a configuration similar to the
7726
previous section about the one server configuration with XDMCP
7727
indirect queries enabled on <filename>appserver</filename> and on the
7728
X terminals you'd have
7731
0=Terminal -indirect appserver
7733
This way for example you only have to maintain one
7734
<filename>Hosts</filename> entry. However as a disadvantage then,
7735
the <filename>appserver</filename> must then always be available. So
7736
it's not good for situations where you want to have several servers
7737
and not all of them have to be on all the time. You could also have
7738
one of the X terminals handle indirect XDMCP queries and serve up the
7739
chooser to the other X terminals.
7743
7733
<sect2 id="customcommand">
7744
7734
<title>Defining Custom Commands</title>