The GNOME Session package contains the GNOME session manager.
This package is known to build and work properly using an LFS 11.3 platform.
Download (HTTP): https://download.gnome.org/sources/gnome-session/43/gnome-session-43.0.tar.xz
Download (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-session/43/gnome-session-43.0.tar.xz
Download MD5 sum: 02ae90bc41fd06e780169b760fb55670
Download size: 476 KB
Estimated disk space required: 12 MB
Estimated build time: 0.1 SBU
elogind-246.10, gnome-desktop-43.2, JSON-GLib-1.6.6, Mesa-22.3.5, and UPower-1.90.0
xmlto-0.0.28, and libxslt-1.1.37 with docbook-xml-4.5 and docbook-xsl-nons-1.79.2 (to build the documentation)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/gnome-session
When running GNOME under Wayland-1.21.0, environment settings are not imported for the user using the system profile. The Wayland developers are currently undecided on a standard method to provide system environment settings for user sessions. To work around this limitation, execute the following command to make gnome-session use a login shell:
sed 's@/bin/sh@/bin/sh -l@' -i gnome-session/gnome-session.in
Adapt meson.build so that gnome-session can build without systemd:
sed -i "/ systemd_dep/,+3d;/if enable_systemd/a \ systemd_userunitdir = '/tmp\'" meson.build
Install GNOME Session by running the following commands:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dsystemd_journal=false \ .. && ninja
This package does not come with a test suite.
Now, as the root
user:
ninja install
Move the documentation to a versioned directory:
mv -v /usr/share/doc/gnome-session{,-43.0}
This package creates two Xorg based .desktop
files in the /usr/share/xsessions/
directory, and two Wayland
based .desktop
files in the
/usr/share/wayland-sessions/
directory. Only one is needed in each directory on a BLFS system,
so prevent the extra files showing up as options in a display
manager. As the root
user:
rm -v /usr/share/xsessions/gnome.desktop && rm -v /usr/share/wayland-sessions/gnome.desktop
Now, as the root
user, remove
systemd units that are useless on SysV systems:
rm -rv /tmp/{*.d,*.target,*.service}
The startup sequence of gnome-wayland needs to create a dbus
session. On SysV, this has to be added to the shipped gnome-wayland.desktop
file, which is written for
systemd. As the root
user:
sed -e 's@^Exec=@&/usr/bin/dbus-run-session @' \ -i /usr/share/wayland-sessions/gnome-wayland.desktop
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
The easiest way to start GNOME is to use a display manager. GDM-43.0 is the recommended display manager.
It is also possible to start GNOME from the command line. However, you must still have GDM-43.0 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.2, 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:
XDG_SESSION_TYPE=wayland dbus-run-session gnome-session