mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-26 08:42:12 +08:00
9a6f0ab378
otherwise, jhalfs switch runlevels, lightdm starts, and if the libinput or event xorg driver is not built, you need to reboot. Also remove some obsolete instructions about the inittab, since they are now performed by "make install-lightdm"
455 lines
15 KiB
XML
455 lines
15 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>
|
|
|
|
&lfs111_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"/>, and
|
|
<xref linkend="linux-pam"/>
|
|
<!-- Neither lightdm-1.30.0 nor lightdm-gtk-greeter-2.0.8
|
|
mention pcre in their configure scripts
|
|
<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 &&
|
|
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; &&
|
|
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 &&
|
|
cp tests/src/lightdm-session /usr/bin &&
|
|
sed -i '1 s/sh/bash --login/' /usr/bin/lightdm-session &&
|
|
rm -rf /etc/init &&
|
|
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm &&
|
|
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm-data &&
|
|
install -v -dm755 -o lightdm -g lightdm /var/cache/lightdm &&
|
|
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 &&
|
|
cd lightdm-gtk-greeter-&lightdm-gtk-greeter-version; &&
|
|
|
|
./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; &&
|
|
|
|
make</userinput></screen>
|
|
|
|
<para>
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>make install</userinput></screen>
|
|
|
|
<note>
|
|
<para>
|
|
If you installed Xorg in /opt, you will need to create a symbolic
|
|
link so lightdm can find the Xorg server. As the
|
|
<systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="nodump"><userinput>ln -sf /opt/xorg/bin/Xorg /usr/bin/X</userinput></screen>
|
|
</note>
|
|
|
|
|
|
</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 the <filename>lightdm.service</filename> unit included in
|
|
the <xref linkend="systemd-units"/> package:
|
|
</para>
|
|
|
|
<screen role="root" revision="systemd"><userinput>make install-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="nodump"><userinput>telinit 5</userinput></screen>
|
|
|
|
<!-- "make install-lightdm already does this already
|
|
<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} &&
|
|
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>
|