The lightdm package contains a lightweight display manager based upon GTK.
This package is known to build and work properly using an LFS-8.3 platform.
Download (HTTP): https://launchpad.net/lightdm/1.24/1.24.0/+download/lightdm-1.24.0.tar.xz
Download MD5 sum: 76d65ba5d1bc93e80b611771698739db
Download size: 508 KB
Estimated disk space required: 20 MB
Estimated build time: 0.2 SBU
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 https://en.wikipedia.org/wiki/LightDM.
Download (HTTP): https://launchpad.net/lightdm-gtk-greeter/2.0/2.0.3/+download/lightdm-gtk-greeter-2.0.3.tar.gz
Download MD5 sum: 29f352906d200568cceb4d449b5619c6
Download size: 480 KB
Estimated disk space required: 3.9 MB
Estimated build time: less than 0.1 SBU
GTK+-3.22.30, libgcrypt-1.8.3, Linux-PAM-1.3.0, and PCRE-8.42
gobject-introspection-1.56.1, libxklavier-5.4, and Vala-0.40.8
at-spi2-core-2.28.0, Exo-0.12.2, GTK-Doc-1.28, itstool-2.0.4, Qt-5.11.1, libido, and libindicator
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/lightdm
First, create a dedicated user and group to take control of the
lightdm daemon after
it is started. Issue the following commands as the root
user:
groupadd -g 65 lightdm && useradd -c "Lightdm Daemon" \ -d /var/lib/lightdm \ -u 65 -g lightdm \ -s /bin/false lightdm
Install lightdm by running the following commands:
ITSTOOL=/bin/true \ ./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-1.24.0 && make
This package does not come with a test suite.
Now, as the root
user:
make install && sed '\@/bin/sh@a\ \ . /etc/profile' tests/src/lightdm-session > /usr/bin/lightdm-session && chmod a+x /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
Now build the greeter:
tar -xf ../lightdm-gtk-greeter-2.0.3.tar.gz && cd lightdm-gtk-greeter-2.0.3 && OUR_CFLAGS="-Wno-declaration-after-statement \ -Wno-error=deprecated-declarations" && CFLAGS="$CFLAGS $OUR_CFLAGS" \ HAVE_EXO_CSOURCE=yes \ ./configure \ --prefix=/usr \ --libexecdir=/usr/lib/lightdm \ --sbindir=/usr/bin \ --sysconfdir=/etc \ --with-libxklavier \ --enable-kill-on-sigterm \ --disable-libido \ --disable-libindicator \ --disable-static \ --docdir=/usr/share/doc/lightdm-gtk-greeter-2.0.3 && make
Now, as the root
user:
make install
ITSTOOL=/bin/true
: although
itstool-2.0.4 is not needed in a normal build,
configure throws an
error if it is not found on the system. This parameter prevents the
error.
CFLAGS=...
: those two
switches ensures some warnings are not treated as errors.
HAVE_EXO_CSOURCE=yes
:
although exo-csource
is not needed in a normal build, configure throws an error if it
is not found on the system. This parameter prevents the error.
Install the /etc/rc.d/init.d/lightdm
init script from the
blfs-bootscripts-20180105
make install-lightdm
If the lightdm bootscript has been installed, start lightdm by
running, as the root
user:
/etc/rc.d/init.d/lightdm start
By convention, X should be executed at runlevel 5, consequently,
the same is true for lightdm.
However, LFS default runlevel is 3. Changing to runlevel 5, from
a console terminal, as root
user,
starts the lightdm
bootscript, bringing up the greeter screen:
init 5
In order to permanently set the default to 5, starting the
lightdm greeter
screen automatically, modify /etc/inittab
. As the root
user:
cp -v /etc/inittab{,-orig} && sed -i '/initdefault/ s/3/5/' /etc/inittab
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 .desktop
file installed under /usr/share/xsessions
. Most of the Window
Managers and Desktop Environments automatically provide those
files, but if necessary, you may include a custom one.
Last updated on 2018-08-23 13:54:05 -0700