diff options
-rwxr-xr-x | gnome-session/gnome-session.in | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in index b4b1f8fa..ddd1a591 100755 --- a/gnome-session/gnome-session.in +++ b/gnome-session/gnome-session.in @@ -2,7 +2,10 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && [ "x$XDG_SESSION_CLASS" != "xgreeter" ] && - [ -n "$SHELL" ]; then + [ -n "$SHELL" ] && + grep -q "$SHELL" /etc/shells && + ! (echo "$SHELL" | grep -q "false") && + ! (echo "$SHELL" | grep -q "nologin"); then if [ "$1" != '-l' ]; then exec bash -c "exec -l '$SHELL' -c '$0 -l $*'" else |