The lightdm package contains a lightweight display manager based upon GTK.
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Download (HTTP): https://github.com/CanonicalLtd/lightdm/releases/download/1.32.0/lightdm-1.32.0.tar.xz
Download MD5 sum: e62a5da6c35f612e4d9575eda5c8d467
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://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.18.0 (for the greeter), libgcrypt-1.10.3, itstool-2.0.7, Linux-PAM-1.5.3, and Xorg-Server-21.1.9 (Runtime)
gobject-introspection-1.78.1, libxklavier-5.4, and Vala-0.56.14
AccountsService-23.13.9 (run time), at-spi2-core-2.50.0, GTK-Doc-1.33.2, (Qt-5.15.11 or qt-alternate-5.15.11), libido, and libindicator
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:
./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.32.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.
Install the lightdm.service
unit included in
the blfs-systemd-units-20230816 package:
make install-lightdm
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.