Apply patch from upstream to allow Xorg after wayland.
Resolves: #1815487
This commit is contained in:
		
							parent
							
								
									a4caca1c5e
								
							
						
					
					
						commit
						b013f63f9a
					
				
							
								
								
									
										83
									
								
								0001-util-Unset-GNOME_SETUP_DISPLAY-at-login-time.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								0001-util-Unset-GNOME_SETUP_DISPLAY-at-login-time.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,83 @@ | |||||||
|  | From 7c928fcd9c0b0a61772bebf877306bdacbc779a8 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Benjamin Berg <bberg@redhat.com> | ||||||
|  | Date: Sat, 21 Mar 2020 16:03:30 +0100 | ||||||
|  | Subject: [PATCH] util: Unset GNOME_SETUP_DISPLAY at login time | ||||||
|  | 
 | ||||||
|  | This variable was introduced to allow Xwayland auto-startup. | ||||||
|  | Unfortunately, it will prevent g-s-d process startup if it leaks from a | ||||||
|  | wayland session to an Xorg session. | ||||||
|  | 
 | ||||||
|  | As such, add it to the list of variables that are unset at login time. | ||||||
|  | ---
 | ||||||
|  |  gnome-session/gsm-util.c | 1 + | ||||||
|  |  1 file changed, 1 insertion(+) | ||||||
|  | 
 | ||||||
|  | diff --git a/gnome-session/gsm-util.c b/gnome-session/gsm-util.c
 | ||||||
|  | index 02bc4a57..5a52de57 100644
 | ||||||
|  | --- a/gnome-session/gsm-util.c
 | ||||||
|  | +++ b/gnome-session/gsm-util.c
 | ||||||
|  | @@ -37,60 +37,61 @@ static gchar **child_environment;
 | ||||||
|  |   | ||||||
|  |  /* These are variables that will not be passed on to subprocesses | ||||||
|  |   * (either directly, via systemd or DBus). | ||||||
|  |   * Some of these are blacklisted as they might end up in the wrong session | ||||||
|  |   * (e.g. XDG_VTNR), others because they simply must never be passed on | ||||||
|  |   * (NOTIFY_SOCKET). | ||||||
|  |   */ | ||||||
|  |  static const char * const variable_blacklist[] = { | ||||||
|  |      "NOTIFY_SOCKET", | ||||||
|  |      "XDG_SEAT", | ||||||
|  |      "XDG_SESSION_ID", | ||||||
|  |      "XDG_VTNR", | ||||||
|  |      NULL | ||||||
|  |  }; | ||||||
|  |   | ||||||
|  |  /* The following is copied from GDMs spawn_session function. | ||||||
|  |   * | ||||||
|  |   * Environment variables listed here will be copied into the user's service | ||||||
|  |   * environments if they are set in gnome-session's environment. If they are | ||||||
|  |   * not set in gnome-session's environment, they will be removed from the | ||||||
|  |   * service environments. This is to protect against environment variables | ||||||
|  |   * leaking from previous sessions (e.g. when switching from classic to | ||||||
|  |   * default GNOME $GNOME_SHELL_SESSION_MODE will become unset). | ||||||
|  |   */ | ||||||
|  |  static const char * const variable_unsetlist[] = { | ||||||
|  |      "DISPLAY", | ||||||
|  |      "XAUTHORITY", | ||||||
|  |      "WAYLAND_DISPLAY", | ||||||
|  |      "WAYLAND_SOCKET", | ||||||
|  |      "GNOME_SHELL_SESSION_MODE", | ||||||
|  | +    "GNOME_SETUP_DISPLAY",
 | ||||||
|  |      NULL | ||||||
|  |  }; | ||||||
|  |   | ||||||
|  |  char * | ||||||
|  |  gsm_util_find_desktop_file_for_app_name (const char *name, | ||||||
|  |                                           gboolean    look_in_saved_session, | ||||||
|  |                                           gboolean    autostart_first) | ||||||
|  |  { | ||||||
|  |          char     *app_path; | ||||||
|  |          char    **app_dirs; | ||||||
|  |          GKeyFile *key_file; | ||||||
|  |          char     *desktop_file; | ||||||
|  |          int       i; | ||||||
|  |   | ||||||
|  |          app_path = NULL; | ||||||
|  |   | ||||||
|  |          app_dirs = gsm_util_get_desktop_dirs (look_in_saved_session, autostart_first); | ||||||
|  |   | ||||||
|  |          key_file = g_key_file_new (); | ||||||
|  |   | ||||||
|  |          desktop_file = g_strdup_printf ("%s.desktop", name); | ||||||
|  |   | ||||||
|  |          g_debug ("GsmUtil: Looking for file '%s'", desktop_file); | ||||||
|  |   | ||||||
|  |          for (i = 0; app_dirs[i] != NULL; i++) { | ||||||
|  |                  g_debug ("GsmUtil: Looking in '%s'", app_dirs[i]); | ||||||
|  |          } | ||||||
|  |   | ||||||
|  |          g_key_file_load_from_dirs (key_file, | ||||||
|  |                                     desktop_file, | ||||||
|  | -- 
 | ||||||
|  | 2.21.1 | ||||||
|  | 
 | ||||||
| @ -9,7 +9,7 @@ | |||||||
| 
 | 
 | ||||||
| Name: gnome-session | Name: gnome-session | ||||||
| Version: 3.36.0 | Version: 3.36.0 | ||||||
| Release: 1%{?dist} | Release: 2%{?dist} | ||||||
| Summary: GNOME session manager | Summary: GNOME session manager | ||||||
| 
 | 
 | ||||||
| License: GPLv2+ | License: GPLv2+ | ||||||
| @ -135,6 +135,10 @@ Desktop file to add GNOME on wayland to display manager session menu. | |||||||
| %{_userunitdir}/gnome-launched-.scope.d/ | %{_userunitdir}/gnome-launched-.scope.d/ | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Mon Mar 23 2020 Ray Strode <rstrode@redhat.com> - 3.36.0-2 | ||||||
|  | - Apply patch from upstream to allow Xorg after wayland. | ||||||
|  |   Resolves: #1815487 | ||||||
|  | 
 | ||||||
| * Sun Mar 08 2020 Kalev Lember <klember@redhat.com> - 3.36.0-1 | * Sun Mar 08 2020 Kalev Lember <klember@redhat.com> - 3.36.0-1 | ||||||
| - Update to 3.36.0 | - Update to 3.36.0 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user