From c41301197e0aa2bccd2bb951bfedca8fbe2247de Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 25 Mar 2020 16:48:13 -0400 Subject: [PATCH] Clear environment on logout Fixes log in to Xorg right after log out from wayland Resolves: #1815487 --- ...emd-environment-is-sanitized-when-sh.patch | 60 +++++++++++++++++++ gnome-shell.spec | 10 +++- 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 0001-data-ensure-systemd-environment-is-sanitized-when-sh.patch diff --git a/0001-data-ensure-systemd-environment-is-sanitized-when-sh.patch b/0001-data-ensure-systemd-environment-is-sanitized-when-sh.patch new file mode 100644 index 0000000..5d4c310 --- /dev/null +++ b/0001-data-ensure-systemd-environment-is-sanitized-when-sh.patch @@ -0,0 +1,60 @@ +From 187af8f442248b4d9481cc4189e24033607a1c81 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Wed, 25 Mar 2020 16:30:46 -0400 +Subject: [PATCH] data: ensure systemd environment is sanitized when shell + exits + +When mutter is acting as a display server it sets a number of +environment variables in the user's session. These variables +tell applications where the display server's sockets are. + +When the shell exits at logout time it leaves these environment +variables in the systemd --user environment, which can confuse +subsequent sessions. + +This commit clears up the environment on exit. + +https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1129 +--- + data/gnome-shell-wayland.service.in | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/data/gnome-shell-wayland.service.in b/data/gnome-shell-wayland.service.in +index 04f94af2d..aab02f4f5 100644 +--- a/data/gnome-shell-wayland.service.in ++++ b/data/gnome-shell-wayland.service.in +@@ -1,27 +1,31 @@ + [Unit] + Description=GNOME Shell on Wayland + # On wayland, force a session shutdown + OnFailure=gnome-shell-disable-extensions.service gnome-session-shutdown.target + OnFailureJobMode=replace-irreversibly + CollectMode=inactive-or-failed + RefuseManualStart=on + RefuseManualStop=on + + After=gnome-session-manager.target + + Requisite=gnome-session-initialized.target + PartOf=gnome-session-initialized.target + Before=gnome-session-initialized.target + + # The units already conflict because they use the same BusName + #Conflicts=gnome-shell-x11.service + + [Service] + Type=notify + ExecStart=@bindir@/gnome-shell ++ ++# unset some environment variables that were set by the shell and won't work now that the shell is gone ++ExecStopPost=-systemctl --user unset-environment GNOME_SETUP_DISPLAY WAYLAND_DISPLAY DISPLAY XAUTHORITY ++ + # Exit code 1 means we are probably *not* dealing with an extension failure + SuccessExitStatus=1 + # On wayland we cannot restart + Restart=no + # Kill any stubborn child processes after this long + TimeoutStopSec=5 +-- +2.21.1 + diff --git a/gnome-shell.spec b/gnome-shell.spec index 7939e17..9efb39b 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -1,6 +1,6 @@ Name: gnome-shell Version: 3.36.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Window management and application launching for GNOME License: GPLv2+ @@ -26,6 +26,9 @@ Patch4: 1080.patch # https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1084 Patch5: 1084.patch +# Clear environment on logout +Patch6: 0001-data-ensure-systemd-environment-is-sanitized-when-sh.patch + %define libcroco_version 0.6.8 %define eds_version 3.33.1 %define gnome_desktop_version 3.35.91 @@ -236,6 +239,11 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de %{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Extensions-symbolic.svg %changelog +* Wed Mar 25 2020 Ray Strode - 3.36.0-4 +- Clear environment on logout + Fixes log in to Xorg right after log out from wayland + Resolves: #1815487 + * Wed Mar 11 2020 Adam Williamson - 3.36.0-3 - Backport fix for input method preedit issue (MR #1084)