glfs/x/dm/lightdm.xml
Xi Ruoyao 45ab6c70c2
more SVN prop clean up
Remove "$LastChanged$" everywhere, and also some unused $Date$
2021-04-20 19:12:02 +08:00

443 lines
14 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!-- lightdm -->
<!ENTITY lightdm-download-http "https://github.com/CanonicalLtd/lightdm/releases/download/&lightdm-version;/lightdm-&lightdm-version;.tar.xz">
<!ENTITY lightdm-download-ftp " ">
<!ENTITY lightdm-md5sum "c566ea595f2b81e68684be9f8dbcbb42">
<!ENTITY lightdm-size "500 KB">
<!ENTITY lightdm-buildsize "21 MB">
<!ENTITY lightdm-time "0.2 SBU ">
<!-- lightdm-gtk-greeter -->
<!ENTITY lightdm-gtk-greeter-download-http "https://github.com/Xubuntu/lightdm-gtk-greeter/releases/download/lightdm-gtk-greeter-&lightdm-gtk-greeter-version;/lightdm-gtk-greeter-&lightdm-gtk-greeter-version;.tar.gz">
<!ENTITY lightdm-gtk-greeter-download-ftp " ">
<!ENTITY lightdm-gtk-greeter-md5sum "373c73c67367df511eb544e09a2da281">
<!ENTITY lightdm-gtk-greeter-size "569.7 KB">
<!ENTITY lightdm-gtk-greeter-buildsize "5.5 MB">
<!ENTITY lightdm-gtk-greeter-time "less than 0.1 SBU ">
]>
<sect1 id="lightdm" xreflabel="lightdm-&lightdm-version;">
<?dbhtml filename="lightdm.html"?>
<sect1info>
<date>$Date$</date>
</sect1info>
<title>lightdm-&lightdm-version;</title>
<indexterm zone="lightdm">
<primary sortas="a-lightdm">lightdm</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Lightdm</title>
<para>
The <application>lightdm</application> package contains a lightweight
display manager based upon GTK.
</para>
&lfs101_checked;
<bridgehead renderas="sect3">Lightdm Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&lightdm-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&lightdm-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &lightdm-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &lightdm-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &lightdm-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &lightdm-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional download</bridgehead>
<note>
<para>
The greeter is a program to present a graphical login screen. There
are several alternative greeters, but the gtk+ package is the reference
implementation. For a list of other greeters, see <ulink
url="https://en.wikipedia.org/wiki/LightDM"/>.
</para>
</note>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&lightdm-gtk-greeter-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&lightdm-gtk-greeter-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &lightdm-gtk-greeter-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &lightdm-gtk-greeter-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &lightdm-gtk-greeter-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &lightdm-gtk-greeter-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Lightdm Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="exo"/> (for the greeter),
<!-- required by exo <xref linkend="gtk3"/>, -->
<xref linkend="libgcrypt"/>,
<xref linkend="itstool"/>,
<xref linkend="linux-pam"/>, and
<xref linkend="pcre"/>
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="gobject-introspection"/>,
<xref linkend="libxklavier"/>, and
<xref linkend="vala"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref role="runtime" linkend="accountsservice"/> (run time),
<xref linkend="at-spi2-core"/>,
<xref linkend="gtk-doc"/>,
<xref linkend="qt5"/>,
<ulink url="https://launchpad.net/ido">libido</ulink>, and
<ulink url="https://launchpad.net/libindicator">libindicator</ulink>
</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/lightdm"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Lightdm</title>
<para>
First, create a dedicated user and group to take
control of the <command>lightdm</command> daemon after it is
started. Issue the following commands as the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>groupadd -g 65 lightdm &amp;&amp;
useradd -c "Lightdm Daemon" \
-d /var/lib/lightdm \
-u 65 -g lightdm \
-s /bin/false lightdm</userinput></screen>
<para revision="sysv">
Then change the <application>Linux-PAM</application> configuration files
so that <application>elogind</application> is used:
</para>
<screen revision="sysv"><userinput>sed -i s/systemd/elogind/ data/pam/*</userinput></screen>
<para>
Install <application>lightdm</application> by running the following
commands:
</para>
<screen><userinput>./configure \
--prefix=/usr \
--libexecdir=/usr/lib/lightdm \
--localstatedir=/var \
--sbindir=/usr/bin \
--sysconfdir=/etc \
--disable-static \
--disable-tests \
--with-greeter-user=lightdm \
--with-greeter-session=lightdm-gtk-greeter \
--docdir=/usr/share/doc/lightdm-&lightdm-version; &amp;&amp;
make</userinput></screen>
<para>
This package does not come with a test suite.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install &amp;&amp;
cp tests/src/lightdm-session /usr/bin &amp;&amp;
sed -i '1 s/sh/bash --login/' /usr/bin/lightdm-session &amp;&amp;
rm -rf /etc/init &amp;&amp;
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm &amp;&amp;
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm-data &amp;&amp;
install -v -dm755 -o lightdm -g lightdm /var/cache/lightdm &amp;&amp;
install -v -dm770 -o lightdm -g lightdm /var/log/lightdm</userinput></screen>
<para>
Now build the greeter:
</para>
<screen><userinput>tar -xf ../lightdm-gtk-greeter-&lightdm-gtk-greeter-version;.tar.gz &amp;&amp;
cd lightdm-gtk-greeter-&lightdm-gtk-greeter-version; &amp;&amp;
./configure \
--prefix=/usr \
--libexecdir=/usr/lib/lightdm \
--sbindir=/usr/bin \
--sysconfdir=/etc \
--with-libxklavier \
--enable-kill-on-sigterm \
--disable-libido \
--disable-libindicator \
--disable-static \
--disable-maintainer-mode \
--docdir=/usr/share/doc/lightdm-gtk-greeter-&lightdm-gtk-greeter-version; &amp;&amp;
make</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>sed ... /usr/bin/lightdm-session</command>:
This command ensures that the initial login via the greeter sources
/etc/profile and ~/.bash_profile. Without this, commands that depend on
different environment variables may not work as expected.
</para>
<!--
<para>
<parameter>ITSTOOL=/bin/true</parameter>: although
<xref linkend="itstool"/> is not needed in a normal build,
<command>configure</command> throws an error if it is not found on the
system. This parameter prevents the error.
</para>
<para>
<parameter>HAVE_EXO_CSOURCE=yes</parameter>: although
<command>exo-csource</command> is not needed in a normal build,
<command>configure</command> throws an error if it is not found on the
system. This parameter prevents the error.
</para>
-->
</sect2>
<sect2 role="configuration">
<title>Configuring lightdm</title>
<sect3 id="lightdm-config">
<title>Config Files</title>
<para>
/etc/lightdm/{lightdm,users,keys}.conf
</para>
<indexterm zone="lightdm lightdm-config">
<primary sortas="e-etc-lightdm-lightdm.conf">/etc/lightdm/lightdm.conf</primary>
</indexterm>
<indexterm zone="lightdm lightdm-config">
<primary sortas="e-users.conf">/etc/lightdm/users.conf</primary>
</indexterm>
<indexterm zone="lightdm lightdm-config">
<primary sortas="e-keys.conf">/etc/lightdm/keys.conf</primary>
</indexterm>
<indexterm zone="lightdm lightdm-config">
<primary sortas="e-lightdm-gtk-greeter.conf">
/etc/lightdm/lightdm-gtk-greeter.conf</primary>
</indexterm>
</sect3>
<sect3 id="lightdm-bootscript">
<title><phrase revision="sysv">Boot Script</phrase>
<phrase revision="systemd">Systemd Unit</phrase></title>
<indexterm zone="lightdm lightdm-bootscript">
<primary sortas="f-lightdm">lightdm</primary>
</indexterm>
<para revision="sysv">
To start <command>lightdm</command> automatically when the system is
switched to runlevel 5, install the
<filename>/etc/rc.d/init.d/xdm</filename> script and the
<filename>/etc/sysconfig/xdm</filename> configuration file
included in the <xref linkend="bootscripts"/> package
and adjust <filename>/etc/inittab</filename> by running
as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root" revision="sysv"><userinput>make install-lightdm</userinput></screen>
<para revision="systemd">
Install and enable the systemd unit. From the
<xref linkend="systemd-units"/> package:
</para>
<screen role="root" revision="systemd"><userinput>make install-lightdm &amp;&amp;
systemctl enable lightdm</userinput></screen>
</sect3>
<sect3 id="lightdm-init" revision="sysv">
<title>Starting lightdm</title>
<para>
The <command>lightdm</command> greeter can be started from the
command line as the <systemitem class="username">root</systemitem>
user:
</para>
<screen role="root"><userinput>telinit 5</userinput></screen>
<para>
Alternatively the runlevel can be permanently set to 5, starting the
<command>lightdm</command> greeter screen automatically, by modifying
<filename>/etc/inittab</filename>. As the <systemitem
class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>cp -v /etc/inittab{,-orig} &amp;&amp;
sed -i '/initdefault/ s/3/5/' /etc/inittab</userinput></screen>
</sect3>
<sect3 id="lightdm-sessions">
<title>Available Sessions</title>
<para>
The greeter offers a list of available sessions,
depending on the Window Managers and Desktop Environments installed. The
list includes sessions which have a corresponding
<filename>.desktop</filename> file installed under
<filename class="directory">/usr/share/xsessions</filename>. Most of the
Window Managers and Desktop Environments automatically provide those
files, but if necessary, you may include a custom one.
</para>
</sect3>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
dm-tool,
lightdm, and
lightdm-gtk-greeter
</seg>
<seg>
liblightdm-gobject-1.so
</seg>
<seg>
/etc/lightdm,
/etc/apparmor.d,
/usr/lib/lightdm,
/usr/include/lightdm-gobject-1,
/usr/share/help/C/lightdm
/usr/share/gtk-doc/html/lightdm-gobject-1,
/usr/share/doc/lightdm-gtk-greeter-&lightdm-gtk-greeter-version;,
/var/lib/lightdm,
/var/lib/lightdm-data,
/var/cache/lightdm, and
/var/log/lightdm
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="lightdm-prog">
<term><command>lightdm</command></term>
<listitem>
<para>
is a display and login manager
</para>
<indexterm zone="lightdm lightdm-prog">
<primary sortas="b-lightdm">lightdm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="lightdm-gtk-greeter">
<term><command>lightdm-gtk-greeter</command></term>
<listitem>
<para>
is an auxiliary process that displays the greeter,
a graphical user interface that performs user
authentication and initiates the selected window manager
or display environment
</para>
<indexterm zone="lightdm lightdm-gtk-greeter">
<primary sortas="b-lightdm-gtk-greeter">lightdm-gtk-greeter</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>