54 lines
1.5 KiB
Diff
54 lines
1.5 KiB
Diff
|
From ae60cb25636b6f68d087591de11fd681f6f8c918 Mon Sep 17 00:00:00 2001
|
||
|
From: Ray Strode <rstrode@redhat.com>
|
||
|
Date: Tue, 19 Nov 2019 09:29:16 -0500
|
||
|
Subject: [PATCH] gnome-session: don't validate shell before using it
|
||
|
|
||
|
Users sometimes set their shell to an invalid shell to prevent
|
||
|
login from proceeding.
|
||
|
|
||
|
GNOME on Wayland still allows login in these cases.
|
||
|
|
||
|
This commit makes the behavior match expectations by skipping
|
||
|
shell validity checks when deciding to run though a login shell.
|
||
|
---
|
||
|
gnome-session/gnome-session.in | 5 +----
|
||
|
1 file changed, 1 insertion(+), 4 deletions(-)
|
||
|
|
||
|
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
|
||
|
index ce63df56..7d967d34 100755
|
||
|
--- a/gnome-session/gnome-session.in
|
||
|
+++ b/gnome-session/gnome-session.in
|
||
|
@@ -1,28 +1,25 @@
|
||
|
#!/bin/sh
|
||
|
|
||
|
if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
|
||
|
[ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
|
||
|
- [ -n "$SHELL" ] &&
|
||
|
- grep -q "$SHELL" /etc/shells &&
|
||
|
- ! (echo "$SHELL" | grep -q "false") &&
|
||
|
- ! (echo "$SHELL" | grep -q "nologin"); then
|
||
|
+ [ -n "$SHELL" ]; then
|
||
|
if [ "$1" != '-l' ]; then
|
||
|
exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
|
||
|
else
|
||
|
shift
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
SETTING=$(gsettings get org.gnome.system.locale region)
|
||
|
REGION=${SETTING#\'}
|
||
|
REGION=${REGION%\'}
|
||
|
|
||
|
if [ -n "$REGION" ]; then
|
||
|
export LC_TIME=$REGION
|
||
|
export LC_NUMERIC=$REGION
|
||
|
export LC_MONETARY=$REGION
|
||
|
export LC_MEASUREMENT=$REGION
|
||
|
export LC_PAPER=$REGION
|
||
|
fi
|
||
|
|
||
|
exec @libexecdir@/gnome-session-binary "$@"
|
||
|
--
|
||
|
2.21.0
|
||
|
|