source: gnome/core/gdm.xml@ 61f9c87

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 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/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 61f9c87 was c4ec7536, checked in by Wayne Blaszczyk <wblaszcz@…>, 12 years ago

Update gnome-session and gdm to fix up the accelerated login screen.

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

  • Property mode set to 100644
File size: 17.2 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 &amp;&amp;
129ln -fsv /usr/lib/gnome-session/gnome-session-check-accelerated \
130 $GNOME_PREFIX/lib/gdm
131</userinput></screen>
132
133 <para>If your <envar>GNOME_SYSCONFDIR</envar> is <emphasis>not</emphasis>
134 simply <filename class="directory">/etc</filename> then you need to create
135 some more symlinks so that the menus and some <literal>.desktop</literal>
136 files (in particular <filename>gnome-settings-daemon.desktop</filename>) will
137 be found, because <envar>XDG_CONFIG_DIRS</envar> is not respected when
138 <command>gdm</command> invokes <command>gnome-session</command>. Run the
139 following commands, still as the <systemitem class="username">root</systemitem>
140 user:</para>
141
142<screen role='root'><userinput>ln -sfv $GNOME_SYSCONFDIR/xdg/menus /etc/xdg &amp;&amp;
143pushd $GNOME_SYSCONFDIR/xdg/autostart &amp;&amp;
144FILES=`ls` &amp;&amp;
145popd &amp;&amp;
146for F in $FILES; do
147 ln -sfv $GNOME_SYSCONFDIR/xdg/autostart/$F /etc/xdg/autostart
148done
149</userinput></screen>
150
151 </sect2>
152
153 <sect2 role="commands">
154 <title>Command Explanations</title>
155
156 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
157 href="../../xincludes/gnome-prefix.xml"/>
158
159 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
160 href="../../xincludes/gnome-sysconfdir.xml"/>
161
162 <para><parameter>--libexecdir=$GNOME_PREFIX/lib/gdm</parameter>: This
163 parameter is used so that the <application>GDM</application> internal
164 support programs are installed in the preferred location of <filename
165 class='directory'>$GNOME_PREFIX/lib/gdm</filename> instead of <filename
166 class='directory'>$GNOME_PREFIX/libexec</filename>.</para>
167
168 <para><parameter>--localstatedir=/var</parameter>: This command
169 puts files in <filename class="directory">/var</filename> instead of
170 <filename class="directory">$GNOME_PREFIX/var</filename>.</para>
171
172 <para><parameter>--with-pam-prefix=/etc</parameter>: This command puts
173 <application>PAM</application> configuration files in
174 <filename class="directory">/etc/pam.d</filename> instead of
175 <filename class="directory">$GNOME_SYSCONFDIR</filename>.</para>
176
177 <para><parameter>--enable-static=no</parameter>: This switch prevents the static
178 libraries being installed.</para>
179
180 <para><parameter>ln -fsv $GNOME_PREFIX/lib/gnome-settings-daemon/...</parameter>:
181 these three symlinks allow the shutdown/restart functions in
182 <application>gdm</application> to work.</para>
183
184 </sect2>
185
186 <sect2 role="configuration">
187 <title>Configuring GDM</title>
188
189 <sect3 id="gdm-config">
190 <title>Config Files</title>
191
192 <para><filename>$GNOME_SYSCONFDIR/gdm/custom.conf</filename></para>
193
194 <indexterm zone="gdm gdm-config">
195 <primary sortas="e-etc-gnome-&gnome-version;&gnome-minor-version;gdm-custom.conf">
196 $GNOME_SYSCONFDIR/gdm/custom.conf</primary>
197 </indexterm>
198
199 </sect3>
200
201 <sect3>
202 <title>Configuration Information</title>
203
204 <para>The GDM daemon is configured using the
205 <filename>$GNOME_SYSCONFDIR/gdm/custom.conf</filename> file.
206 Default values are stored in GConf in the
207 <filename>gdm.schemas</filename> file. It is recommended that end-users
208 modify the <filename>$GNOME_SYSCONFDIR/gdm/custom.conf</filename> file
209 because the schemas file may be overwritten when the user updates their
210 system to have a newer version of GDM.</para>
211
212 <para>The <application>GDM</application> <application>PAM</application>
213 configuration files contain modules not present in a BLFS installation.
214 Issue the following
215 commands as the <systemitem class="username">root</systemitem> user to
216 replace those files with files containing correctly specified
217 modules:</para>
218
219<screen role="root"><userinput>cat &gt; /etc/pam.d/gdm &lt;&lt; "EOF"
220<literal>auth required pam_env.so
221auth required pam_unix.so
222account required pam_nologin.so
223account required pam_unix.so
224password required pam_unix.so
225session optional pam_keyinit.so force revoke
226session required pam_unix.so
227session required pam_loginuid.so
228session optional pam_console.so</literal>
229
230EOF
231chmod -v 644 /etc/pam.d/gdm
232
233cat &gt; /etc/pam.d/gdm-autologin &lt;&lt; "EOF"
234<literal>auth required pam_env.so
235auth required pam_permit.so
236account required pam_nologin.so
237account required pam_unix.so
238password required pam_unix.so
239session optional pam_keyinit.so force revoke
240session required pam_unix.so
241session required pam_loginuid.so
242session optional pam_console.so</literal>
243
244EOF
245chmod -v 644 /etc/pam.d/gdm-autologin
246
247cat &gt; /etc/pam.d/gdm-welcome &lt;&lt; "EOF"
248<literal>auth required pam_env.so
249auth required pam_permit.so
250account required pam_nologin.so
251account required pam_unix.so
252password required pam_unix.so
253session required pam_loginuid.so
254session optional pam_keyinit.so force revoke
255session required pam_unix.so</literal>
256
257EOF
258chmod -v 644 /etc/pam.d/gdm-welcome
259</userinput></screen>
260
261 <indexterm zone="gdm gdm-config">
262 <primary sortas="e-etc-pam.d-gdm">/etc/pam.d/gdm</primary>
263 </indexterm>
264 <indexterm zone="gdm gdm-config">
265 <primary
266 sortas="e-etc-pam.d-gdm-autologin">/etc/pam.d/gdm-autologin</primary>
267 </indexterm>
268
269 <para id="gdm-config-dbus">The shipped <filename>gnome.desktop</filename>
270 file does not start the session <application>D-BUS</application> daemon, and
271 as a result not all the files required by a <application>GNOME</application>
272 window manager will be found. You can create a new
273 Xsession file using the following command as the root user.</para>
274
275<screen role="root"><userinput>cat &gt; $GNOME_PREFIX/share/xsessions/gnome-dbus.desktop &lt;&lt; "EOF"
276<literal>[Desktop Entry]
277Encoding=UTF-8
278Name=GNOME with D-BUS
279Comment=GNOME Desktop with D-BUS support
280Exec=dbus-launch --exit-with-session gnome-session
281TryExec=/usr/bin/dbus-launch
282Icon=
283Type=Application</literal>
284
285EOF
286chmod -v 644 $GNOME_PREFIX/share/xsessions/gnome-dbus.desktop</userinput></screen>
287
288 <para>Choose this session using the session selection dialog on the
289 display manager login screen. You also have the opportunity to make this
290 your default session.</para>
291
292 <para>After you have compared the results from using these two different
293 files, and particularly if the translations in the shipped file are useful
294 to you, you can edit the <literal>Exec</literal> and <literal>TryExec</literal>
295 commands in the provided <filename>gnome.desktop</filename> file. Alternatively,
296 you can delete it if you find it useless.</para>
297
298 <note>
299 <para>You may use the <filename class='extension'>.desktop</filename>
300 file created above as an example to create additional
301 <filename class='extension'>.desktop</filename> files and add any other
302 desired items to the <application>GDM</application> display manager session
303 selection menu.</para>
304 </note>
305
306 <important>
307 <para>If the system-wide <application>D-BUS</application> daemon was
308 running during the installation of <application>gdm</application>,
309 ensure you stop and restart the <application>D-BUS</application>
310 daemon before attempting to start <command>gdm</command>.</para>
311 </important>
312
313 <para><command>gdm</command> can be tested by executing it as the
314 <systemitem class="username">root</systemitem> user. If you wish to stop
315 it you will need to go to a different tty and then kill it.</para>
316
317 </sect3>
318
319 <sect3 id="gdm-init">
320 <title>Boot Script</title>
321
322 <para>To start a graphical login when the system is booted, install the
323 <filename>/etc/rc.d/init.d/gdm</filename> init script included in the
324 <xref linkend="bootscripts"/> package. If your
325 <envar>GNOME_PREFIX</envar> environment variable is anything other than
326 <filename class='directory'>/usr</filename> or <filename
327 class='directory'>/opt/gnome-&gnome-version;&gnome-minor-version;</filename>,
328 you will need to modify the <envar>PATH</envar> statement in the script
329 to include the path where you have <application>GNOME</application>
330 installed.</para>
331
332 <indexterm zone="gdm gdm-init">
333 <primary sortas="f-gdm">gdm</primary>
334 </indexterm>
335
336<screen role="root"><userinput>make install-gdm</userinput></screen>
337
338 <para>Now edit <filename>/etc/inittab</filename> with the following
339 commands.</para>
340
341<screen role="root"><userinput>sed -i 's/id:3:initdefault:/id:5:initdefault:/' \
342 /etc/inittab</userinput></screen>
343
344 </sect3>
345
346 </sect2>
347
348 <sect2 role="content">
349 <title>Contents</title>
350
351 <segmentedlist>
352 <segtitle>Installed Programs</segtitle>
353 <segtitle>Installed Libraries</segtitle>
354 <segtitle>Installed Directories</segtitle>
355
356 <seglistitem>
357 <seg>Default, Default.sample, Default, Default, Xsession, gdm,
358 gdm-screenshot, gdmflexiserver, gdm-crash-logger, gdm-factory-slave,
359 gdm-host-chooser, gdm-product-slave, gdm-session-worker,
360 gdm-simple-chooser, gdm-simple-greeter, gdm-simple-slave,
361 gdm-user-switch-applet, gdm-xdmcp-chooser-slave, gdm, and gdm-binary</seg>
362 <seg>libfingerprint.so, libpassword.so, libsmartcard.so</seg>
363 <seg>$GNOME_SYSCONFDIR/{dbus-1/system.d.gdm/{Init,PostLogin,PostSession,PreSession}},
364 <envar>$GNOME_PREFIX</envar>/{lib/gdm,share/{gnome/help/gdm/*,omf/gdm,
365 pixmaps/faces}},
366 /var/{cache/gdm,gdm,lib/gdm/.gconf.mandatory,log/gdm,
367 run/gdm/greeter}</seg>
368 </seglistitem>
369 </segmentedlist>
370
371 <variablelist>
372 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
373 <?dbfo list-presentation="list"?>
374 <?dbhtml list-presentation="table"?>
375
376 <varlistentry id="gdmflexiserver">
377 <term><command>gdmflexiserver</command></term>
378 <listitem>
379 <para>is the flexi server mechanism which allows to run GDM sessions
380 on demand, in a new virtual console.</para>
381 <indexterm zone="gdm gdmflexiserver">
382 <primary sortas="b-gdmflexiserver">gdmflexiserver</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387 <varlistentry id="gdm-screenshot">
388 <term><command>gdm-screenshot</command></term>
389 <listitem>
390 <para>is a screenshot tool.</para>
391 <indexterm zone="gdm gdm-screenshot">
392 <primary sortas="b-gdm-screenshot">gdm-screenshot</primary>
393 </indexterm>
394 </listitem>
395 </varlistentry>
396
397 <varlistentry id="gdm-prog">
398 <term><command>gdm</command></term>
399 <listitem>
400 <para>is a wrapper script to execute the
401 <application>GDM</application> binary, the configurable
402 <application>GNOME</application> based login prompt.</para>
403 <indexterm zone="gdm gdm-prog">
404 <primary sortas="b-gdm">gdm</primary>
405 </indexterm>
406 </listitem>
407 </varlistentry>
408
409 <varlistentry id="gdm-binary">
410 <term><command>gdm-binary</command></term>
411 <listitem>
412 <para>is the <application>GNOME</application> based login prompt.</para>
413 <indexterm zone="gdm gdm-binary">
414 <primary sortas="b-gdm-binary">gdm-binary</primary>
415 </indexterm>
416 </listitem>
417 </varlistentry>
418
419 <!--<varlistentry id="gdm-restart">
420 <term><command>gdm-restart</command></term>
421 <listitem>
422 <para>sends the HUP signal to the <application>GDM</application>
423 daemon so that it restarts. It's used after the config file
424 is edited</para>
425 <indexterm zone="gdm gdm-restart">
426 <primary sortas="b-gdm-restart">gdm-restart</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430
431 <varlistentry id="gdm-safe-restart">
432 <term><command>gdm-safe-restart</command></term>
433 <listitem>
434 <para>sends the USR1 signal to the <application>GDM</application>
435 daemon so that it restarts. It's used after the config file
436 is edited.</para>
437 <indexterm zone="gdm gdm-safe-restart">
438 <primary sortas="b-gdm-safe-restart">gdm-safe-restart</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="gdm-stop">
444 <term><command>gdm-stop</command></term>
445 <listitem>
446 <para>sends the TERM signal to the <application>GDM</application>
447 daemon so that it stops. It's used after the config file is
448 edited.</para>
449 <indexterm zone="gdm gdm-stop">
450 <primary sortas="b-gdm-stop">gdm-stop</primary>
451 </indexterm>
452 </listitem>
453 </varlistentry>-->
454
455 </variablelist>
456
457 </sect2>
458
459</sect1>
Note: See TracBrowser for help on using the repository browser.