You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.6 KiB
57 lines
1.6 KiB
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 |
|
|
|
|