Clear environment on logout

Fixes log in to Xorg right after log out from wayland
Resolves: #1815487
This commit is contained in:
Ray Strode 2020-03-25 16:48:13 -04:00
parent 4ef45d4ea0
commit c41301197e
2 changed files with 69 additions and 1 deletions

View File

@ -0,0 +1,60 @@
From 187af8f442248b4d9481cc4189e24033607a1c81 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
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

View File

@ -1,6 +1,6 @@
Name: gnome-shell Name: gnome-shell
Version: 3.36.0 Version: 3.36.0
Release: 3%{?dist} Release: 4%{?dist}
Summary: Window management and application launching for GNOME Summary: Window management and application launching for GNOME
License: GPLv2+ License: GPLv2+
@ -26,6 +26,9 @@ Patch4: 1080.patch
# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1084 # https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1084
Patch5: 1084.patch 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 libcroco_version 0.6.8
%define eds_version 3.33.1 %define eds_version 3.33.1
%define gnome_desktop_version 3.35.91 %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 %{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Extensions-symbolic.svg
%changelog %changelog
* Wed Mar 25 2020 Ray Strode <rstrode@redhat.com> - 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 <awilliam@redhat.com> - 3.36.0-3 * Wed Mar 11 2020 Adam Williamson <awilliam@redhat.com> - 3.36.0-3
- Backport fix for input method preedit issue (MR #1084) - Backport fix for input method preedit issue (MR #1084)