The lightdm package contains a lightweight display manager based upon GTK.
This package is known to build and work properly using an LFS-11.0 platform.
Download (HTTP): https://github.com/CanonicalLtd/lightdm/releases/download/1.30.0/lightdm-1.30.0.tar.xz
Download MD5 sum: c566ea595f2b81e68684be9f8dbcbb42
Download size: 500 KB
Estimated disk space required: 21 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://github.com/Xubuntu/lightdm-gtk-greeter/releases/download/lightdm-gtk-greeter-2.0.8/lightdm-gtk-greeter-2.0.8.tar.gz
Download MD5 sum: 373c73c67367df511eb544e09a2da281
Download size: 569.7 KB
Estimated disk space required: 5.5 MB
Estimated build time: less than 0.1 SBU
Exo-4.16.2 (for the greeter), libgcrypt-1.9.4, itstool-2.0.6, Linux-PAM-1.5.1, and PCRE-8.45
gobject-introspection-1.68.0, libxklavier-5.4, and Vala-0.52.5
AccountsService-0.6.55 (run time), at-spi2-core-2.40.3, GTK-Doc-1.33.2, Qt-5.15.2, libido, and libindicator
User Notes: https://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
Then change the Linux-PAM configuration files so that elogind is used:
sed -i s/systemd/elogind/ data/pam/*
Install lightdm by running the following commands:
./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.30.0 && make
This package does not come with a test suite.
Now, as the root
user:
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
Now build the greeter:
tar -xf ../lightdm-gtk-greeter-2.0.8.tar.gz && cd lightdm-gtk-greeter-2.0.8 && ./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-2.0.8 && make
Now, as the root
user:
make install
If you installed Xorg in /opt, you will need to create a symbolic
link so lightdm can find the Xorg server. As the root
user:
ln -sf /opt/xorg/bin/Xorg /usr/bin/X
sed ... /usr/bin/lightdm-session: 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.
To start lightdm
automatically when the system is switched to runlevel 5, install
the /etc/rc.d/init.d/xdm
script and
the /etc/sysconfig/xdm
configuration file included in the blfs-bootscripts-20210826 package and
adjust /etc/inittab
by running as
the root
user:
make install-lightdm
The lightdm greeter
can be started from the command line as the root
user:
telinit 5
Alternatively the runlevel can be permanently set to 5, starting
the lightdm greeter
screen automatically, by modifying /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