diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2013-09-19 10:54:24 -0400 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2013-09-19 10:54:24 -0400 |
commit | 214c8eb2e61894b6fc0b909e989a7537e580b499 (patch) | |
tree | 906193e3b3c842ef6ee817e26d0087b9ced38b67 | |
parent | 1fcbbb4e7a126f3058a348103ee6f96195fc8aa5 (diff) | |
download | lightdm-214c8eb2e61894b6fc0b909e989a7537e580b499.tar.gz |
Fix test-mode not working, don't try and run the greeter as the greeter user
-rw-r--r-- | src/seat.c | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -1050,7 +1050,6 @@ create_greeter_session (Seat *seat) gchar *sessions_dir, **argv; SessionConfig *session_config; Greeter *greeter_session; - gchar *greeter_user; const gchar *greeter_wrapper; l_debug (seat, "Creating greeter session"); @@ -1081,9 +1080,18 @@ create_greeter_session (Seat *seat) set_session_env (SESSION (greeter_session)); session_set_pam_service (SESSION (greeter_session), GREETER_SERVICE); - greeter_user = config_get_string (config_get_instance (), "LightDM", "greeter-user"); - session_set_username (SESSION (greeter_session), greeter_user); - g_free (greeter_user); + if (getuid () == 0) + { + gchar *greeter_user; + greeter_user = config_get_string (config_get_instance (), "LightDM", "greeter-user"); + session_set_username (SESSION (greeter_session), greeter_user); + g_free (greeter_user); + } + else + { + /* In test mode run the greeter as ourself */ + session_set_username (SESSION (greeter_session), user_get_name (accounts_get_current_user ())); + } session_set_argv (SESSION (greeter_session), argv); g_strfreev (argv); |