summaryrefslogtreecommitdiff
path: root/gnome-session/gnome-session.in
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-session/gnome-session.in')
-rwxr-xr-xgnome-session/gnome-session.in5
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