#### Beyond Linux® From Scratch (System V Edition) - Version 12.3

### Chapter 33. GNOME Libraries and Desktop

- Prev

  gnome-shell-extensions-47.4

- Next

  gnome-tweaks-46.1

- Up
- Home

# gnome-session-47.0.1

## Introduction to GNOME Session

The GNOME Session package contains the GNOME session manager.

This package is known to build and work properly using an LFS 12.3 platform.

### Package Information

- Download (HTTP): https://download.gnome.org/sources/gnome-session/47/gnome-session-47.0.1.tar.xz

- Download MD5 sum: b234428ca39e494db57fb88613c71f6f

- Download size: 476 KB

- Estimated disk space required: 9.6 MB

- Estimated build time: 0.2 SBU

### GNOME Session Dependencies

#### Required

elogind-255.17, gnome-desktop-44.1, JSON-GLib-1.10.6, Mesa-24.3.4, and UPower-1.90.7

#### Optional

xmlto-0.0.29, and libxslt-1.1.42 with docbook-xml-4.5 and docbook-xsl-nons-1.79.2 (to build the documentation)

## Installation of GNOME Session

When running GNOME under Wayland-1.23.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

Install GNOME Session by running the following commands:

    mkdir build &&
    cd    build &&

    meson setup --prefix=/usr              \
                --buildtype=release        \
                -D systemduserunitdir=/tmp \
                ..                         &&
    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{,-47.0.1}

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

## Command Explanations

`--buildtype=release`: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

## Starting GNOME

The easiest way to start GNOME is to use a display manager. GDM-47.0 is the recommended display manager.

It is also possible to start GNOME from the command line. However, you must still have GDM-47.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.3, 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

## Contents

Installed Programs: gnome-session, gnome-session-inhibit, and gnome-session-quit
Installed Libraries: None
Installed Directories: /usr/share/doc/gnome-session-47.0.1 and /usr/share/gnome-session

### Short Descriptions

gnome-session | is used to start up the GNOME Desktop environment
gnome-session-inhibit | is used to inhibit certain GNOME Session functionality while executing the given command
gnome-session-quit | is used to end the GNOME Session

- Prev

  gnome-shell-extensions-47.4

- Next

  gnome-tweaks-46.1

- Up
- Home