39ea6b6f8c
Resolves: #2015519
58 lines
1.6 KiB
Diff
58 lines
1.6 KiB
Diff
From 63d74edc4b112669fdce14d88d37e2dd0315ff7e 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 ddd1a591..b4b1f8fa 100755
|
|
--- a/gnome-session/gnome-session.in
|
|
+++ b/gnome-session/gnome-session.in
|
|
@@ -1,32 +1,29 @@
|
|
#!/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=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region)
|
|
REGION=${SETTING#\'}
|
|
REGION=${REGION%\'}
|
|
|
|
if [ -n "$REGION" ]; then
|
|
unset LC_TIME LC_NUMERIC LC_MONETARY LC_MEASUREMENT LC_PAPER
|
|
|
|
if [ "$LANG" != "$REGION" ] ; then
|
|
export LC_TIME=$REGION
|
|
export LC_NUMERIC=$REGION
|
|
export LC_MONETARY=$REGION
|
|
export LC_MEASUREMENT=$REGION
|
|
export LC_PAPER=$REGION
|
|
fi
|
|
fi
|
|
|
|
exec @libexecdir@/gnome-session-binary "$@"
|
|
--
|
|
2.32.0
|
|
|