source: gnome/core/gdm.xml@ fa4ff29

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gimp3 gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since fa4ff29 was 06936b84, checked in by Ken Moffat <ken@…>, 13 years ago

Fixes for gdm.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9842 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 17.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY gdm-download-http "&gnome-download-http;/gdm/&gnome-version;/gdm-&gdm-version;.tar.xz">
8 <!ENTITY gdm-download-ftp "&gnome-download-ftp;/gdm/&gnome-version;/gdm-&gdm-version;.tar.xz">
9 <!ENTITY gdm-md5sum "df3f38061066f5e0816676b4eef7854a">
10 <!ENTITY gdm-size "1.6 MB">
11 <!ENTITY gdm-buildsize "59 MB">
12 <!ENTITY gdm-time "0.7 SBU">
13]>
14
15<sect1 id="gdm" xreflabel="GDM-&gdm-version;">
16 <?dbhtml filename="gdm.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>GDM-&gdm-version;</title>
24
25 <indexterm zone="gdm">
26 <primary sortas="a-GDM">GDM</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to GDM</title>
31
32 <para>The <application>GDM</application> package contains
33 <application>GNOME</application>'s Display Manager daemon. This is
34 useful for allowing configurable graphical logins.</para>
35
36 &lfs70_checked;
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>Download (HTTP): <ulink url="&gdm-download-http;"/></para>
42 </listitem>
43 <listitem>
44 <para>Download (FTP): <ulink url="&gdm-download-ftp;"/></para>
45 </listitem>
46 <listitem>
47 <para>Download MD5 sum: &gdm-md5sum;</para>
48 </listitem>
49 <listitem>
50 <para>Download size: &gdm-size;</para>
51 </listitem>
52 <listitem>
53 <para>Estimated disk space required: &gdm-buildsize;</para>
54 </listitem>
55 <listitem>
56 <para>Estimated build time: &gdm-time;</para>
57 </listitem>
58 </itemizedlist>
59
60 <!--<bridgehead renderas="sect3">Additional Downloads</bridgehead>
61 <itemizedlist spacing="compact">
62 <listitem>
63 <para>Required patch: <ulink
64 url="&patch-root;/gdm-&gdm-version;-fixes-1.patch"/></para>
65 </listitem>
66 </itemizedlist>-->
67
68 <bridgehead renderas="sect3">GDM Dependencies</bridgehead>
69
70 <bridgehead renderas="sect4">Required</bridgehead>
71 <para role="required"><xref linkend="accountsservice"/>,
72 <xref linkend="gnome-panel"/>,
73 <xref linkend="linux-pam"/>, and
74 <xref linkend="xorg7-lib"/></para>
75
76 <bridgehead renderas="sect4">Recommended</bridgehead>
77 <para role="recommended"><xref linkend="consolekit"/>
78 (Required for Shutdown/Restart functionality) and
79 <xref linkend="polkit-gnome"/></para>
80
81 <bridgehead renderas="sect4">Optional</bridgehead>
82 <para role="optional">
83 <xref linkend='check'/> (required to run the testsuite),
84 <xref linkend="upower"/>,
85 <xref linkend="libxklavier"/>, and
86 <xref linkend="tcpwrappers"/></para>
87
88 <para condition="html" role="usernotes">User Notes:
89 <ulink url="&blfs-wiki;/gdm"/></para>
90
91 </sect2>
92
93 <sect2 role="installation">
94 <title>Installation of GDM</title>
95
96 <para>It is recommended to have a dedicated user and group to take
97 control of the <command>gdm-binary</command> daemon after it is
98 started. Issue the following commands as the
99 <systemitem class="username">root</systemitem> user:</para>
100
101<screen role='root'><userinput>groupadd -fg 21 gdm &amp;&amp;
102useradd -c "GDM Daemon Owner" -d /var/lib/gdm -u 21 \
103 -g gdm -s /bin/false gdm || [ $? == 9 ]</userinput></screen>
104
105 <para>Install <application>GDM</application> by running
106 the following commands as an unprivileged user:</para>
107
108<screen><userinput><!--patch -Np1 -i ../gdm-&gdm-version;-fixes-1.patch &amp;&amp;-->
109./configure --prefix=$GNOME_PREFIX \
110 --sysconfdir=$GNOME_SYSCONFDIR \
111 --libexecdir=$GNOME_PREFIX/lib/gdm \
112 --localstatedir=/var \
113 --with-pam-prefix=/etc \
114 --enable-static=no &amp;&amp;
115make</userinput></screen>
116
117 <para>If you have installed <xref linkend="check"/> and you wish to run
118 the testsuite, issue: <command>make check</command>.</para>
119
120 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
121
122<screen role='root'><userinput>make install &amp;&amp;
123ln -fsv $GNOME_PREFIX/lib/gnome-settings-daemon/gnome-settings-daemon \
124 $GNOME_PREFIX/lib/gdm &amp;&amp;
125ln -fsv /usr/lib/ConsoleKit/ck-get-x11-display-device \
126 $GNOME_PREFIX/lib/gdm &amp;&amp;
127ln -fsv /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 \
128 $GNOME_PREFIX/lib/gdm
129</userinput></screen>
130
131 <para>If your <envar>GNOME_SYSCONFDIR</envar> is <emphasis>not</emphasis>
132 simply <filename class="directory">/etc</filename> then you need to create
133 some more symlinks so that the menus and some <literal>.desktop</literal>
134 files (in particular <filename>gnome-settings-daemon.desktop</filename>) will
135 be found, because <envar>XDG_CONFIG_DIRS</envar> is not respected when
136 <command>gdm</command> invokes <command>gnome-session</command>. Run the
137 following commands, still as the <systemitem class="username">root</systemitem>
138 user:</para>
139
140<screen role='root'><userinput>ln -sfv $GNOME_SYSCONFDIR/xdg/menus /etc/xdg &amp;&amp;
141pushd $GNOME_SYSCONFDIR/xdg/autostart &amp;&amp;
142FILES=`ls` &amp;&amp;
143popd &amp;&amp;
144for F in $FILES; do
145 ln -sfv $GNOME_SYSCONFDIR/xdg/autostart/$F /etc/xdg/autostart
146done
147</userinput></screen>
148
149 </sect2>
150
151 <sect2 role="commands">
152 <title>Command Explanations</title>
153
154 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
155 href="../../xincludes/gnome-prefix.xml"/>
156
157 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
158 href="../../xincludes/gnome-sysconfdir.xml"/>
159
160 <para><parameter>--libexecdir=$GNOME_PREFIX/lib/gdm</parameter>: This
161 parameter is used so that the <application>GDM</application> internal
162 support programs are installed in the preferred location of <filename
163 class='directory'>$GNOME_PREFIX/lib/gdm</filename> instead of <filename
164 class='directory'>$GNOME_PREFIX/libexec</filename>.</para>
165
166 <para><parameter>--localstatedir=/var</parameter>: This command
167 puts files in <filename class="directory">/var</filename> instead of
168 <filename class="directory">$GNOME_PREFIX/var</filename>.</para>
169
170 <para><parameter>--with-pam-prefix=/etc</parameter>: This command puts
171 <application>PAM</application> configuration files in
172 <filename class="directory">/etc/pam.d</filename> instead of
173 <filename class="directory">$GNOME_SYSCONFDIR</filename>.</para>
174
175 <para><parameter>--enable-static=no</parameter>: This switch prevents the static
176 libraries being installed.</para>
177
178 <para><parameter>ln -fsv $GNOME_PREFIX/lib/gnome-settings-daemon/...</parameter>:
179 these three symlinks allow the shutdown/restart functions in
180 <application>gdm</application> to work.</para>
181
182 </sect2>
183
184 <sect2 role="configuration">
185 <title>Configuring GDM</title>
186
187 <sect3 id="gdm-config">
188 <title>Config Files</title>
189
190 <para><filename>$GNOME_SYSCONFDIR/gdm/custom.conf</filename></para>
191
192 <indexterm zone="gdm gdm-config">
193 <primary sortas="e-etc-gnome-&gnome-version;&gnome-minor-version;gdm-custom.conf">
194 $GNOME_SYSCONFDIR/gdm/custom.conf</primary>
195 </indexterm>
196
197 </sect3>
198
199 <sect3>
200 <title>Configuration Information</title>
201
202 <para>The GDM daemon is configured using the
203 <filename>$GNOME_SYSCONFDIR/gdm/custom.conf</filename> file.
204 Default values are stored in GConf in the
205 <filename>gdm.schemas</filename> file. It is recommended that end-users
206 modify the <filename>$GNOME_SYSCONFDIR/gdm/custom.conf</filename> file
207 because the schemas file may be overwritten when the user updates their
208 system to have a newer version of GDM.</para>
209
210 <para>The <application>GDM</application> <application>PAM</application>
211 configuration files contain modules not present in a BLFS installation.
212 Issue the following
213 commands as the <systemitem class="username">root</systemitem> user to
214 replace those files with files containing correctly specified
215 modules:</para>
216
217<screen role="root"><userinput>cat &gt; /etc/pam.d/gdm &lt;&lt; "EOF"
218<literal>auth required pam_env.so
219auth required pam_unix.so
220account required pam_nologin.so
221account required pam_unix.so
222password required pam_unix.so
223session optional pam_keyinit.so force revoke
224session required pam_unix.so
225session required pam_loginuid.so
226session optional pam_console.so</literal>
227
228EOF
229chmod -v 644 /etc/pam.d/gdm
230
231cat &gt; /etc/pam.d/gdm-autologin &lt;&lt; "EOF"
232<literal>auth required pam_env.so
233auth required pam_permit.so
234account required pam_nologin.so
235account required pam_unix.so
236password required pam_unix.so
237session optional pam_keyinit.so force revoke
238session required pam_unix.so
239session required pam_loginuid.so
240session optional pam_console.so</literal>
241
242EOF
243chmod -v 644 /etc/pam.d/gdm-autologin
244
245cat &gt; /etc/pam.d/gdm-welcome &lt;&lt; "EOF"
246<literal>auth required pam_env.so
247auth required pam_permit.so
248account required pam_nologin.so
249account required pam_unix.so
250password required pam_unix.so
251session required pam_loginuid.so
252session optional pam_keyinit.so force revoke
253session required pam_unix.so</literal>
254
255EOF
256chmod -v 644 /etc/pam.d/gdm-welcome
257</userinput></screen>
258
259 <indexterm zone="gdm gdm-config">
260 <primary sortas="e-etc-pam.d-gdm">/etc/pam.d/gdm</primary>
261 </indexterm>
262 <indexterm zone="gdm gdm-config">
263 <primary
264 sortas="e-etc-pam.d-gdm-autologin">/etc/pam.d/gdm-autologin</primary>
265 </indexterm>
266
267 <para id="gdm-config-dbus">The shipped <filename>gnome.desktop</filename>
268 file does not start the session <application>D-BUS</application> daemon, and
269 as a result not all the files required by a <application>GNOME</application>
270 window manager will be found. You can create a new
271 Xsession file using the following command as the root user.</para>
272
273<screen role="root"><userinput>cat &gt; $GNOME_PREFIX/share/xsessions/gnome-dbus.desktop &lt;&lt; "EOF"
274<literal>[Desktop Entry]
275Encoding=UTF-8
276Name=GNOME with D-BUS
277Comment=GNOME Desktop with D-BUS support
278Exec=dbus-launch --exit-with-session gnome-session
279TryExec=/usr/bin/dbus-launch
280Icon=
281Type=Application</literal>
282
283EOF
284chmod -v 644 $GNOME_PREFIX/share/xsessions/gnome-dbus.desktop</userinput></screen>
285
286 <para>Choose this session using the session selection dialog on the
287 display manager login screen. You also have the opportunity to make this
288 your default session.</para>
289
290 <para>After you have compared the results from using these two different
291 files, and particularly if the translations in the shipped file are useful
292 to you, you can edit the <literal>Exec</literal> and <literal>TryExec</literal>
293 commands in the provided <filename>gnome.desktop</filename> file. Alternatively,
294 you can delete it if you find it useless.</para>
295
296 <note>
297 <para>You may use the <filename class='extension'>.desktop</filename>
298 file created above as an example to create additional
299 <filename class='extension'>.desktop</filename> files and add any other
300 desired items to the <application>GDM</application> display manager session
301 selection menu.</para>
302 </note>
303
304 <important>
305 <para>If the system-wide <application>D-BUS</application> daemon was
306 running during the installation of <application>gdm</application>,
307 ensure you stop and restart the <application>D-BUS</application>
308 daemon before attempting to start <command>gdm</command>.</para>
309 </important>
310
311 <para><command>gdm</command> can be tested by executing it as the
312 <systemitem class="username">root</systemitem> user. If you wish to stop
313 it you will need to go to a different tty and then kill it.</para>
314
315 </sect3>
316
317 <sect3 id="gdm-init">
318 <title>Boot Script</title>
319
320 <para>To start a graphical login when the system is booted, install the
321 <filename>/etc/rc.d/init.d/gdm</filename> init script included in the
322 <xref linkend="bootscripts"/> package. If your
323 <envar>GNOME_PREFIX</envar> environment variable is anything other than
324 <filename class='directory'>/usr</filename> or <filename
325 class='directory'>/opt/gnome-&gnome-version;&gnome-minor-version;</filename>,
326 you will need to modify the <envar>PATH</envar> statement in the script
327 to include the path where you have <application>GNOME</application>
328 installed.</para>
329
330 <indexterm zone="gdm gdm-init">
331 <primary sortas="f-gdm">gdm</primary>
332 </indexterm>
333
334<screen role="root"><userinput>make install-gdm</userinput></screen>
335
336 <para>Now edit <filename>/etc/inittab</filename> with the following
337 commands.</para>
338
339<screen role="root"><userinput>sed -i 's/id:3:initdefault:/id:5:initdefault:/' \
340 /etc/inittab</userinput></screen>
341
342 </sect3>
343
344 </sect2>
345
346 <sect2 role="content">
347 <title>Contents</title>
348
349 <segmentedlist>
350 <segtitle>Installed Programs</segtitle>
351 <segtitle>Installed Libraries</segtitle>
352 <segtitle>Installed Directories</segtitle>
353
354 <seglistitem>
355 <seg>Default, Default.sample, Default, Default, Xsession, gdm,
356 gdm-screenshot, gdmflexiserver, gdm-crash-logger, gdm-factory-slave,
357 gdm-host-chooser, gdm-product-slave, gdm-session-worker,
358 gdm-simple-chooser, gdm-simple-greeter, gdm-simple-slave,
359 gdm-user-switch-applet, gdm-xdmcp-chooser-slave, gdm, and gdm-binary</seg>
360 <seg>libfingerprint.so, libpassword.so, libsmartcard.so</seg>
361 <seg>$GNOME_SYSCONFDIR/{dbus-1/system.d.gdm/{Init,PostLogin,PostSession,PreSession}},
362 <envar>$GNOME_PREFIX</envar>/{lib/gdm,share/{gnome/help/gdm/*,omf/gdm,
363 pixmaps/faces}},
364 /var/{cache/gdm,gdm,lib/gdm/.gconf.mandatory,log/gdm,
365 run/gdm/greeter}</seg>
366 </seglistitem>
367 </segmentedlist>
368
369 <variablelist>
370 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
371 <?dbfo list-presentation="list"?>
372 <?dbhtml list-presentation="table"?>
373
374 <varlistentry id="gdmflexiserver">
375 <term><command>gdmflexiserver</command></term>
376 <listitem>
377 <para>is the flexi server mechanism which allows to run GDM sessions
378 on demand, in a new virtual console.</para>
379 <indexterm zone="gdm gdmflexiserver">
380 <primary sortas="b-gdmflexiserver">gdmflexiserver</primary>
381 </indexterm>
382 </listitem>
383 </varlistentry>
384
385 <varlistentry id="gdm-screenshot">
386 <term><command>gdm-screenshot</command></term>
387 <listitem>
388 <para>is a screenshot tool.</para>
389 <indexterm zone="gdm gdm-screenshot">
390 <primary sortas="b-gdm-screenshot">gdm-screenshot</primary>
391 </indexterm>
392 </listitem>
393 </varlistentry>
394
395 <varlistentry id="gdm-prog">
396 <term><command>gdm</command></term>
397 <listitem>
398 <para>is a wrapper script to execute the
399 <application>GDM</application> binary, the configurable
400 <application>GNOME</application> based login prompt.</para>
401 <indexterm zone="gdm gdm-prog">
402 <primary sortas="b-gdm">gdm</primary>
403 </indexterm>
404 </listitem>
405 </varlistentry>
406
407 <varlistentry id="gdm-binary">
408 <term><command>gdm-binary</command></term>
409 <listitem>
410 <para>is the <application>GNOME</application> based login prompt.</para>
411 <indexterm zone="gdm gdm-binary">
412 <primary sortas="b-gdm-binary">gdm-binary</primary>
413 </indexterm>
414 </listitem>
415 </varlistentry>
416
417 <!--<varlistentry id="gdm-restart">
418 <term><command>gdm-restart</command></term>
419 <listitem>
420 <para>sends the HUP signal to the <application>GDM</application>
421 daemon so that it restarts. It's used after the config file
422 is edited</para>
423 <indexterm zone="gdm gdm-restart">
424 <primary sortas="b-gdm-restart">gdm-restart</primary>
425 </indexterm>
426 </listitem>
427 </varlistentry>
428
429 <varlistentry id="gdm-safe-restart">
430 <term><command>gdm-safe-restart</command></term>
431 <listitem>
432 <para>sends the USR1 signal to the <application>GDM</application>
433 daemon so that it restarts. It's used after the config file
434 is edited.</para>
435 <indexterm zone="gdm gdm-safe-restart">
436 <primary sortas="b-gdm-safe-restart">gdm-safe-restart</primary>
437 </indexterm>
438 </listitem>
439 </varlistentry>
440
441 <varlistentry id="gdm-stop">
442 <term><command>gdm-stop</command></term>
443 <listitem>
444 <para>sends the TERM signal to the <application>GDM</application>
445 daemon so that it stops. It's used after the config file is
446 edited.</para>
447 <indexterm zone="gdm gdm-stop">
448 <primary sortas="b-gdm-stop">gdm-stop</primary>
449 </indexterm>
450 </listitem>
451 </varlistentry>-->
452
453 </variablelist>
454
455 </sect2>
456
457</sect1>
Note: See TracBrowser for help on using the repository browser.