Files
gitea-pages/rhel8/desktop.md

3.2 KiB

Desktop on RHEL 8

Many Servers and Managers

Following software is involved in getting the desktop on Linux up and running.

  • Display Server paints the image onto the screen
    • Xorg: good ol' Unix X Server with network redirection
    • Wayland: new and modern
  • Display Manager shows up at startup to authenticate the user and then start the desktop session
    • gdm Gnome Display Manager is default on RHEL 8
    • lightdm is very flexible, but automatic Gnome screen lock does not work with it, manual locking would be needed (dm_tool lock)
    • sddm the Simple Desktop Display Manager from the KDE world fails due to a kernel bug on RHEL 8.6
  • Greeter: user interface part of the display manager, e.g. for lightdm it is exchangable
  • Accounts Service (accounts-daemon) used by gdm to learn about/store user information (last desktop session, profile image, etc)
  • Session Manager starts the actual desktop. The installed options are found in /usr/share/wayland-sessions/ for Wayland and /usr/share/xsessions/ for Xorg.
    • gnome-session normal Gnome starter (for Xorg and Wayland)
    • gnome-session-custom-session to select a specific saved Gnome session
    • icewm-session IceWM starter, Xorg only
    • startxfce4 XFCE starter, Xorg only
    • startplasma-x11 KDE Plasma starter for Xorg
    • startplasma-wayland KDE Plasma starter for Wayland

Out of the box RHEL 8 starts Gnome using gdm and Wayland. Xorg is also supported. Others can be installed from EPEL, but there is no support from Red Hat.

PSI Specific Desktop Settings

Per default Puppet starts gdm which then starts Gnome with Xorg using /usr/share/xsessions/gnome-xorg.desktop.

Normally the Display Managers offer the user to select one of the available Desktop Sessions (*.desktop files in /usr/share/wayland-sessions/ and /usr/share/xsessions/). This has been disabled as normally at the PSI this is more set per system and not per user.

In Hiera the actual Desktop Session to be started can be selected/overriden by setting the desktop::session_manager to one of the .desktop files in above listed directories. Set it e.g. to gnome-wayland to test Wayland.

Note when changing the default Session Manager, previous users will still get the one they used before. To reset that, you need to delete

  • /var/lib/AccountsService/users/* (for gdm)
  • /var/cache/lightdm/dmrc/*.dmrc (for lightdm)
  • /var/lib/lightdm/.cache/lightdm-gtk-greeter/state (for lightdm with lightdm-gtk-greeter)

XFCE

XFCE is installed when base::enable_xfce: true is set in Hiera. It then is also used by default with base::xfce_default: true or desktop::session_manager: xfce.

IceWM

IceWM is installed when base::enable_icewm: true is set in Hiera. It then is also used by default with desktop::session_manager: icewm-session.

Using a different Desktop (e.g. KDE)

The respective Desktop needs to be installed, either manually or through Puppet. The respective Session Manager can be set as system default in Hiera with desktop::session_manager.

If a different Display Manager is needed, or lightdm on other occasions, then changes in our Puppet code are required.