GDM is a system service that is responsible for providing graphical logins and managing local and remote displays.
This package is known to build and work properly using an LFS-11.2 platform.
Download (HTTP): https://download.gnome.org/sources/gdm/42/gdm-42.0.tar.xz
Download (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gdm/42/gdm-42.0.tar.xz
Download MD5 sum: 8fb99fd6032127fe6f57462c696607e5
Download size: 792 KB
Estimated disk space required: 32 MB
Estimated build time: 0.3 SBU
AccountsService-22.08.8, GTK+-3.24.34, ISO Codes-4.11.0, itstool-2.0.7, libcanberra-0.30, libdaemon-0.14, and Linux-PAM-1.5.2
gnome-session-42.0, gnome-shell-42.4, and elogind-246.10
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/gdm
It is recommended to have a dedicated user and group to take
control of the gdm
daemon after it is started. Issue the following commands as the
root
user:
groupadd -g 21 gdm && useradd -c "GDM Daemon Owner" -d /var/lib/gdm -u 21 \ -g gdm -s /bin/false gdm && passwd -ql gdm
First, adapt GDM to build without systemd present:
sed -i -r '/(^| )systemd_dep/d' meson.build
Install GDM by running the following commands:
sed -e 's@systemd@elogind@' \ -e '/elogind/isession required pam_loginuid.so' \ -i data/pam-lfs/gdm-launch-environment.pam && mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dgdm-xsession=true \ -Dsystemd-journal=false \ -Dsystemdsystemunitdir=/tmp \ -Dsystemduserunitdir=/tmp .. && ninja
This package does not come with a usable test suite.
Now, as the root
user:
ninja install && rm -rv /tmp/*.{service,target.d}
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
-Dinitial-vt=7
: Use this switch to make
GDM start on VT7 instead of the
first free VT.
-Ddefault-pam-config=lfs
: Use this
switch if you did not create the /etc/lfs-release
file or distribution auto
detection will fail and you will be unable to use GDM.
-Dgdm-xsession=true
: This
enables the installation of the GDM Xsession file.
The GDM daemon is configured using the /etc/gdm/custom.conf
file. Default values are
stored in GSettings in the gdm.schemas
file. It is recommended that
end-users modify the /etc/gdm/custom.conf
file because the schemas
file may be overwritten when the user updates their system to
have a newer version of GDM.
To start gdm
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-20220722 package and
adjust /etc/inittab
by running as
the root
user:
make install-gdm
In order to permanently set the default runlevel to 5, starting
the gdm greeter
screen automatically, you can modify /etc/inittab
. As the root
user:
sed /initdefault/s/3/5/ -i /etc/inittab
It is possible to start GNOME from the command line, rather than using GDM. However, you must still have GDM installed for some portions of the desktop to work. One reason to start from the command line is if you want Wayland support on a system that has the proprietary NVIDIA driver installed, since GDM will not show the Wayland session type on such a system.
To start GNOME using xinit-1.4.1, run the following commands:
cat > ~/.xinitrc << "EOF"
dbus-run-session gnome-session
EOF
startx
Alternatively, to start GNOME with Wayland support, run the following command:
dbus-run-session -- gnome-shell --display-server --wayland