gnome-shell/0001-data-ensure-systemd-environment-is-sanitized-when-sh.patch
Ray Strode c41301197e Clear environment on logout
Fixes log in to Xorg right after log out from wayland
Resolves: #1815487
2020-03-25 16:55:12 -04:00

61 lines
2.0 KiB
Diff

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